diff --git a/docs/core/proto-docs.md b/docs/core/proto-docs.md index a418d22e..6b4dcab0 100644 --- a/docs/core/proto-docs.md +++ b/docs/core/proto-docs.md @@ -3819,9 +3819,9 @@ Params | `hard_borrow_reward_periods` | [MultiRewardPeriod](#kava.incentive.v1beta1.MultiRewardPeriod) | repeated | | | `delegator_reward_periods` | [MultiRewardPeriod](#kava.incentive.v1beta1.MultiRewardPeriod) | repeated | | | `swap_reward_periods` | [MultiRewardPeriod](#kava.incentive.v1beta1.MultiRewardPeriod) | repeated | | -| `savings_reward_periods` | [MultiRewardPeriod](#kava.incentive.v1beta1.MultiRewardPeriod) | repeated | | | `claim_multipliers` | [MultipliersPerDenom](#kava.incentive.v1beta1.MultipliersPerDenom) | repeated | | | `claim_end` | [google.protobuf.Timestamp](#google.protobuf.Timestamp) | | | +| `savings_reward_periods` | [MultiRewardPeriod](#kava.incentive.v1beta1.MultiRewardPeriod) | repeated | | @@ -3913,6 +3913,8 @@ GenesisState is the state that must be provided at genesis. | `hard_liquidity_provider_claims` | [HardLiquidityProviderClaim](#kava.incentive.v1beta1.HardLiquidityProviderClaim) | repeated | | | `delegator_claims` | [DelegatorClaim](#kava.incentive.v1beta1.DelegatorClaim) | repeated | | | `swap_claims` | [SwapClaim](#kava.incentive.v1beta1.SwapClaim) | repeated | | +| `savings_reward_state` | [GenesisRewardState](#kava.incentive.v1beta1.GenesisRewardState) | | | +| `savings_claims` | [SavingsClaim](#kava.incentive.v1beta1.SavingsClaim) | repeated | | diff --git a/proto/kava/incentive/v1beta1/genesis.proto b/proto/kava/incentive/v1beta1/genesis.proto index 6fbbc33d..d2119f64 100644 --- a/proto/kava/incentive/v1beta1/genesis.proto +++ b/proto/kava/incentive/v1beta1/genesis.proto @@ -56,4 +56,8 @@ message GenesisState { [(gogoproto.castrepeated) = "DelegatorClaims", (gogoproto.nullable) = false]; repeated SwapClaim swap_claims = 10 [(gogoproto.castrepeated) = "SwapClaims", (gogoproto.nullable) = false]; + + GenesisRewardState savings_reward_state = 11 [(gogoproto.nullable) = false]; + + repeated SavingsClaim savings_claims = 12 [(gogoproto.castrepeated) = "SavingsClaims", (gogoproto.nullable) = false]; } diff --git a/proto/kava/incentive/v1beta1/params.proto b/proto/kava/incentive/v1beta1/params.proto index 312fedf5..5a010fcb 100644 --- a/proto/kava/incentive/v1beta1/params.proto +++ b/proto/kava/incentive/v1beta1/params.proto @@ -72,11 +72,11 @@ message Params { repeated MultiRewardPeriod swap_reward_periods = 5 [(gogoproto.castrepeated) = "MultiRewardPeriods", (gogoproto.nullable) = false]; - repeated MultiRewardPeriod savings_reward_periods = 6 - [(gogoproto.castrepeated) = "MultiRewardPeriods", (gogoproto.nullable) = false]; - - repeated MultipliersPerDenom claim_multipliers = 7 + repeated MultipliersPerDenom claim_multipliers = 6 [(gogoproto.castrepeated) = "MultipliersPerDenoms", (gogoproto.nullable) = false]; - google.protobuf.Timestamp claim_end = 8 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + google.protobuf.Timestamp claim_end = 7 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + + repeated MultiRewardPeriod savings_reward_periods = 8 + [(gogoproto.castrepeated) = "MultiRewardPeriods", (gogoproto.nullable) = false]; } diff --git a/x/incentive/genesis.go b/x/incentive/genesis.go index fb4fe030..2fd89939 100644 --- a/x/incentive/genesis.go +++ b/x/incentive/genesis.go @@ -112,6 +112,20 @@ func InitGenesis( for _, mri := range gs.SwapRewardState.MultiRewardIndexes { k.SetSwapRewardIndexes(ctx, mri.CollateralType, mri.RewardIndexes) } + + // Savings + for _, claim := range gs.SavingsClaims { + k.SetSavingsClaim(ctx, claim) + } + for _, gat := range gs.SavingsRewardState.AccumulationTimes { + if err := ValidateAccumulationTime(gat.PreviousAccumulationTime, ctx.BlockTime()); err != nil { + panic(err.Error()) + } + k.SetSavingsRewardAccrualTime(ctx, gat.CollateralType, gat.PreviousAccumulationTime) + } + for _, mri := range gs.SavingsRewardState.MultiRewardIndexes { + k.SetSavingsRewardIndexes(ctx, mri.CollateralType, mri.RewardIndexes) + } } // ExportGenesis export genesis state for incentive module @@ -131,10 +145,13 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) types.GenesisState { swapClaims := k.GetAllSwapClaims(ctx) swapRewardState := getSwapGenesisRewardState(ctx, k) + savingsClaims := k.GetAllSavingsClaims(ctx) + savingsRewardState := getSavingsGenesisRewardState(ctx, k) + return types.NewGenesisState( params, usdxRewardState, hardSupplyRewardState, hardBorrowRewardState, delegatorRewardState, swapRewardState, - usdxClaims, hardClaims, delegatorClaims, swapClaims, + savingsRewardState, usdxClaims, hardClaims, delegatorClaims, swapClaims, savingsClaims, ) } @@ -224,6 +241,22 @@ func getSwapGenesisRewardState(ctx sdk.Context, keeper keeper.Keeper) types.Gene return types.NewGenesisRewardState(ats, mris) } +func getSavingsGenesisRewardState(ctx sdk.Context, keeper keeper.Keeper) types.GenesisRewardState { + var ats types.AccumulationTimes + keeper.IterateSavingsRewardAccrualTimes(ctx, func(ctype string, accTime time.Time) bool { + ats = append(ats, types.NewAccumulationTime(ctype, accTime)) + return false + }) + + var mris types.MultiRewardIndexes + keeper.IterateSavingsRewardIndexes(ctx, func(ctype string, indexes types.RewardIndexes) bool { + mris = append(mris, types.NewMultiRewardIndex(ctype, indexes)) + return false + }) + + return types.NewGenesisRewardState(ats, mris) +} + func ValidateAccumulationTime(previousAccumulationTime, genesisTime time.Time) error { if previousAccumulationTime.Before(genesisTime.Add(-1 * EarliestValidAccumulationTime)) { return fmt.Errorf( diff --git a/x/incentive/genesis_test.go b/x/incentive/genesis_test.go index c7199ea8..d1281a35 100644 --- a/x/incentive/genesis_test.go +++ b/x/incentive/genesis_test.go @@ -99,10 +99,12 @@ func (suite *GenesisTestSuite) SetupTest() { types.DefaultGenesisRewardState, types.DefaultGenesisRewardState, types.DefaultGenesisRewardState, + types.DefaultGenesisRewardState, types.DefaultUSDXClaims, types.DefaultHardClaims, types.DefaultDelegatorClaims, types.DefaultSwapClaims, + types.DefaultSavingsClaims, ) cdc := suite.app.AppCodec() @@ -197,6 +199,14 @@ func (suite *GenesisTestSuite) TestExportedGenesisMatchesImported() { types.NewMultiRewardIndex("btcb/usdx", types.RewardIndexes{{CollateralType: "swap", RewardFactor: d("0.001")}}), }, ), + types.NewGenesisRewardState( + types.AccumulationTimes{ + types.NewAccumulationTime("ukava", genesisTime.Add(-3*time.Hour)), + }, + types.MultiRewardIndexes{ + types.NewMultiRewardIndex("ukava", types.RewardIndexes{{CollateralType: "ukava", RewardFactor: d("0.2")}}), + }, + ), types.USDXMintingClaims{ types.NewUSDXMintingClaim( suite.addrs[0], @@ -237,6 +247,13 @@ func (suite *GenesisTestSuite) TestExportedGenesisMatchesImported() { types.MultiRewardIndexes{{CollateralType: "btcb/usdx", RewardIndexes: types.RewardIndexes{{CollateralType: "swap", RewardFactor: d("0.0")}}}}, ), }, + types.SavingsClaims{ + types.NewSavingsClaim( + suite.addrs[3], + nil, + types.MultiRewardIndexes{{CollateralType: "ukava", RewardIndexes: types.RewardIndexes{{CollateralType: "ukava", RewardFactor: d("0.0")}}}}, + ), + }, ) tApp := app.NewTestApp() @@ -311,6 +328,12 @@ func (suite *GenesisTestSuite) TestInitGenesisPanicsWhenAccumulationTimesToLongA SwapRewardState: invalidRewardState, }, }, + { + types.GenesisState{ + Params: minimalParams, + SavingsRewardState: invalidRewardState, + }, + }, } for _, tc := range testCases { diff --git a/x/incentive/legacy/v0_16/testdata/v16-incentive.json b/x/incentive/legacy/v0_16/testdata/v16-incentive.json index 900bb667..95da6e01 100644 --- a/x/incentive/legacy/v0_16/testdata/v16-incentive.json +++ b/x/incentive/legacy/v0_16/testdata/v16-incentive.json @@ -223,6 +223,10 @@ } ] }, + "savings_reward_state": { + "accumulation_times": [], + "multi_reward_indexes": [] + }, "usdx_minting_claims": [ { "base_claim": { @@ -328,5 +332,6 @@ } ] } - ] + ], + "savings_claims": [] } diff --git a/x/incentive/types/genesis.go b/x/incentive/types/genesis.go index 5de6c649..3790cad0 100644 --- a/x/incentive/types/genesis.go +++ b/x/incentive/types/genesis.go @@ -10,6 +10,7 @@ var ( DefaultHardClaims = HardLiquidityProviderClaims{} DefaultDelegatorClaims = DelegatorClaims{} DefaultSwapClaims = SwapClaims{} + DefaultSavingsClaims = SavingsClaims{} DefaultGenesisRewardState = NewGenesisRewardState( AccumulationTimes{}, MultiRewardIndexes{}, @@ -19,8 +20,8 @@ var ( // NewGenesisState returns a new genesis state func NewGenesisState( params Params, - usdxState, hardSupplyState, hardBorrowState, delegatorState, swapState GenesisRewardState, - c USDXMintingClaims, hc HardLiquidityProviderClaims, dc DelegatorClaims, sc SwapClaims, + usdxState, hardSupplyState, hardBorrowState, delegatorState, swapState, savingsState GenesisRewardState, + c USDXMintingClaims, hc HardLiquidityProviderClaims, dc DelegatorClaims, sc SwapClaims, savingsc SavingsClaims, ) GenesisState { return GenesisState{ Params: params, @@ -30,11 +31,13 @@ func NewGenesisState( HardBorrowRewardState: hardBorrowState, DelegatorRewardState: delegatorState, SwapRewardState: swapState, + SavingsRewardState: savingsState, USDXMintingClaims: c, HardLiquidityProviderClaims: hc, DelegatorClaims: dc, SwapClaims: sc, + SavingsClaims: savingsc, } } @@ -47,10 +50,12 @@ func DefaultGenesisState() GenesisState { HardBorrowRewardState: DefaultGenesisRewardState, DelegatorRewardState: DefaultGenesisRewardState, SwapRewardState: DefaultGenesisRewardState, + SavingsRewardState: DefaultGenesisRewardState, USDXMintingClaims: DefaultUSDXClaims, HardLiquidityProviderClaims: DefaultHardClaims, DelegatorClaims: DefaultDelegatorClaims, SwapClaims: DefaultSwapClaims, + SavingsClaims: DefaultSavingsClaims, } } @@ -76,6 +81,9 @@ func (gs GenesisState) Validate() error { if err := gs.SwapRewardState.Validate(); err != nil { return err } + if err := gs.SavingsRewardState.Validate(); err != nil { + return err + } if err := gs.USDXMintingClaims.Validate(); err != nil { return err @@ -86,7 +94,10 @@ func (gs GenesisState) Validate() error { if err := gs.DelegatorClaims.Validate(); err != nil { return err } - return gs.SwapClaims.Validate() + if err := gs.SwapClaims.Validate(); err != nil { + return err + } + return gs.SavingsClaims.Validate() } // NewGenesisRewardState returns a new GenesisRewardState diff --git a/x/incentive/types/genesis.pb.go b/x/incentive/types/genesis.pb.go index 27531cc3..ff2a35c3 100644 --- a/x/incentive/types/genesis.pb.go +++ b/x/incentive/types/genesis.pb.go @@ -117,6 +117,8 @@ type GenesisState struct { HardLiquidityProviderClaims HardLiquidityProviderClaims `protobuf:"bytes,8,rep,name=hard_liquidity_provider_claims,json=hardLiquidityProviderClaims,proto3,castrepeated=HardLiquidityProviderClaims" json:"hard_liquidity_provider_claims"` DelegatorClaims DelegatorClaims `protobuf:"bytes,9,rep,name=delegator_claims,json=delegatorClaims,proto3,castrepeated=DelegatorClaims" json:"delegator_claims"` SwapClaims SwapClaims `protobuf:"bytes,10,rep,name=swap_claims,json=swapClaims,proto3,castrepeated=SwapClaims" json:"swap_claims"` + SavingsRewardState GenesisRewardState `protobuf:"bytes,11,opt,name=savings_reward_state,json=savingsRewardState,proto3" json:"savings_reward_state"` + SavingsClaims SavingsClaims `protobuf:"bytes,12,rep,name=savings_claims,json=savingsClaims,proto3,castrepeated=SavingsClaims" json:"savings_claims"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -163,51 +165,54 @@ func init() { } var fileDescriptor_8b76737885d05afd = []byte{ - // 698 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0x41, 0x6f, 0xd3, 0x30, - 0x18, 0x86, 0x9b, 0x6d, 0x8c, 0xcd, 0x45, 0x74, 0x35, 0x63, 0x2b, 0x9d, 0x94, 0x8e, 0x0d, 0x41, - 0x05, 0x22, 0xd1, 0xca, 0x95, 0x0b, 0x61, 0x12, 0x4c, 0x62, 0xd2, 0x94, 0x0e, 0x84, 0x10, 0x52, - 0xe5, 0x34, 0x5e, 0x66, 0x48, 0xe2, 0x10, 0x3b, 0xed, 0x7a, 0xe3, 0xc8, 0x71, 0x3f, 0x00, 0x89, - 0x3b, 0x7f, 0x84, 0x1d, 0x77, 0xe4, 0xb4, 0x41, 0xf7, 0x47, 0x90, 0x9d, 0xa4, 0x4b, 0xda, 0x65, - 0x88, 0x71, 0x4b, 0x3f, 0xbf, 0xdf, 0xfb, 0xbc, 0xf6, 0xe7, 0x26, 0xe0, 0xde, 0x47, 0xd4, 0x43, - 0x3a, 0xf1, 0xbb, 0xd8, 0xe7, 0xa4, 0x87, 0xf5, 0xde, 0x86, 0x85, 0x39, 0xda, 0xd0, 0x1d, 0xec, - 0x63, 0x46, 0x98, 0x16, 0x84, 0x94, 0x53, 0xb8, 0x24, 0x54, 0xda, 0x48, 0xa5, 0x25, 0xaa, 0xfa, - 0xa2, 0x43, 0x1d, 0x2a, 0x25, 0xba, 0x78, 0x8a, 0xd5, 0xf5, 0xf5, 0x02, 0xcf, 0xae, 0x8b, 0x88, - 0xc7, 0xfe, 0x22, 0x0a, 0x50, 0x88, 0x46, 0xa2, 0x86, 0x43, 0xa9, 0xe3, 0x62, 0x5d, 0xfe, 0xb2, - 0xa2, 0x3d, 0x9d, 0x13, 0x0f, 0x33, 0x8e, 0xbc, 0x20, 0x16, 0xac, 0x7d, 0x53, 0xc0, 0xc2, 0xb3, - 0x6e, 0x37, 0xf2, 0x22, 0x17, 0x71, 0x42, 0xfd, 0x5d, 0xe2, 0x61, 0xf8, 0x00, 0x54, 0xba, 0xd4, - 0x75, 0x11, 0xc7, 0x21, 0x72, 0x3b, 0x7c, 0x10, 0xe0, 0x9a, 0xb2, 0xaa, 0x34, 0xe7, 0xcd, 0x9b, - 0xe7, 0xe5, 0xdd, 0x41, 0x80, 0xa1, 0x05, 0xea, 0x41, 0x88, 0x7b, 0x84, 0x46, 0xac, 0x83, 0x32, - 0x2e, 0x1d, 0x81, 0xa9, 0x4d, 0xad, 0x2a, 0xcd, 0x72, 0xab, 0xae, 0xc5, 0x19, 0xb4, 0x34, 0x83, - 0xb6, 0x9b, 0x66, 0x30, 0xe6, 0x8e, 0x4e, 0x1a, 0xa5, 0xc3, 0xd3, 0x86, 0x62, 0xd6, 0x52, 0x9f, - 0xf1, 0x30, 0x6b, 0x9f, 0xa7, 0x00, 0x7c, 0x11, 0x1f, 0xa6, 0x89, 0xfb, 0x28, 0xb4, 0xdb, 0x1c, - 0x71, 0x0c, 0x43, 0x00, 0x27, 0x88, 0xac, 0xa6, 0xac, 0x4e, 0x37, 0xcb, 0xad, 0xa6, 0x76, 0xf1, - 0x71, 0x6b, 0xe3, 0xe6, 0xc6, 0x1d, 0x11, 0xe0, 0xfb, 0x69, 0xa3, 0x3a, 0xbe, 0xc2, 0xcc, 0x2a, - 0x1a, 0x2f, 0xc1, 0x1e, 0x58, 0xf4, 0x22, 0x97, 0x93, 0x4e, 0x28, 0x83, 0x74, 0x88, 0x6f, 0xe3, - 0x03, 0xcc, 0x6a, 0x53, 0x97, 0x53, 0xb7, 0x45, 0x4f, 0x9c, 0x7d, 0x4b, 0x74, 0x18, 0xf5, 0x84, - 0x0a, 0xc7, 0x57, 0x30, 0x33, 0xa1, 0x37, 0x51, 0x5b, 0xfb, 0x31, 0x07, 0x6e, 0x24, 0x47, 0x10, - 0x6f, 0xfe, 0x29, 0x98, 0x8d, 0xc7, 0x2c, 0xe7, 0x52, 0x6e, 0xa9, 0x45, 0xe8, 0x1d, 0xa9, 0x32, - 0x66, 0x04, 0xd0, 0x4c, 0x7a, 0x20, 0x05, 0xd5, 0x88, 0xd9, 0x07, 0xe9, 0x2e, 0x98, 0xb0, 0x4c, - 0x86, 0xf5, 0xb0, 0xc8, 0x68, 0x72, 0x02, 0xc6, 0xb2, 0x30, 0x1d, 0x9e, 0x34, 0x2a, 0xaf, 0xdb, - 0x9b, 0x6f, 0x33, 0x0b, 0x66, 0x45, 0xb8, 0x67, 0x67, 0x45, 0x40, 0x6d, 0x5f, 0x92, 0xa2, 0x20, - 0x70, 0x07, 0x79, 0xee, 0xf4, 0x3f, 0x73, 0xe3, 0xcd, 0xdc, 0x16, 0x8e, 0x6d, 0x69, 0x78, 0x11, - 0xca, 0xa2, 0x61, 0x48, 0xfb, 0x79, 0xd4, 0xcc, 0xff, 0xa0, 0x0c, 0x69, 0x98, 0x45, 0xed, 0x81, - 0x25, 0x1b, 0xbb, 0xd8, 0x41, 0x9c, 0x86, 0x79, 0xd0, 0xb5, 0x2b, 0x82, 0x16, 0x47, 0x7e, 0x59, - 0xce, 0x7b, 0x50, 0x65, 0x7d, 0x14, 0xe4, 0x11, 0xb3, 0x57, 0x44, 0x54, 0x84, 0x55, 0xd6, 0xfd, - 0x8b, 0x02, 0x6e, 0xc9, 0xdb, 0xe0, 0x11, 0x9f, 0x13, 0xdf, 0xe9, 0xc4, 0x2f, 0x99, 0xda, 0xf5, - 0xcb, 0xef, 0xb4, 0x98, 0xf9, 0x76, 0xdc, 0xf1, 0x5c, 0x34, 0x18, 0x5a, 0x72, 0x1b, 0xaa, 0xe3, - 0x2b, 0x4c, 0xfc, 0xbd, 0x26, 0x8a, 0xa6, 0xbc, 0x82, 0xb9, 0x12, 0xfc, 0xaa, 0x00, 0x55, 0x0e, - 0xcf, 0x25, 0x9f, 0x22, 0x62, 0x13, 0x3e, 0xe8, 0x04, 0x21, 0xed, 0x11, 0x1b, 0x87, 0x69, 0xaa, - 0x39, 0x99, 0xaa, 0x55, 0x94, 0xea, 0x25, 0x0a, 0xed, 0x57, 0x69, 0xf3, 0x4e, 0xd2, 0x1b, 0xe7, - 0x5b, 0x4f, 0xfe, 0x73, 0x2b, 0xc5, 0x1a, 0x66, 0xae, 0xec, 0x17, 0x2f, 0xc2, 0x0f, 0x60, 0xe1, - 0x7c, 0xde, 0x49, 0x9e, 0x79, 0x99, 0xe7, 0x7e, 0x51, 0x9e, 0xcd, 0x54, 0x1f, 0x67, 0x58, 0x4e, - 0x32, 0x54, 0xf2, 0x75, 0x66, 0x56, 0xec, 0x7c, 0x01, 0xbe, 0x01, 0x65, 0x39, 0xf3, 0x04, 0x03, - 0x24, 0xe6, 0x6e, 0x11, 0xa6, 0xdd, 0x47, 0x41, 0x4c, 0x80, 0x09, 0x01, 0x8c, 0x4a, 0xcc, 0x04, - 0x6c, 0xf4, 0x6c, 0x6c, 0x1d, 0xfd, 0x56, 0x4b, 0x47, 0x43, 0x55, 0x39, 0x1e, 0xaa, 0xca, 0xaf, - 0xa1, 0xaa, 0x1c, 0x9e, 0xa9, 0xa5, 0xe3, 0x33, 0xb5, 0xf4, 0xf3, 0x4c, 0x2d, 0xbd, 0x7b, 0xe4, - 0x10, 0xbe, 0x1f, 0x59, 0x5a, 0x97, 0x7a, 0xba, 0x40, 0x3d, 0x76, 0x91, 0xc5, 0xe4, 0x93, 0x7e, - 0x90, 0xf9, 0xd2, 0x88, 0x0f, 0x02, 0xb3, 0x66, 0xe5, 0xfb, 0xfc, 0xc9, 0x9f, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xaf, 0xfb, 0x24, 0xb7, 0x01, 0x07, 0x00, 0x00, + // 744 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0xcf, 0x4f, 0x13, 0x41, + 0x14, 0xc7, 0xbb, 0x80, 0x08, 0x53, 0xa0, 0x74, 0x2c, 0x50, 0x4b, 0xb2, 0x45, 0x20, 0xda, 0x68, + 0xdc, 0x0d, 0xf5, 0xea, 0xc5, 0x95, 0x44, 0x49, 0x24, 0x21, 0x5b, 0x34, 0xc6, 0x98, 0x34, 0xb3, + 0xdd, 0x61, 0x19, 0xdd, 0x5f, 0xee, 0xec, 0xb6, 0xf4, 0xe6, 0xd1, 0x9b, 0xfc, 0x01, 0x26, 0xde, + 0xfd, 0x4b, 0x38, 0x72, 0xf4, 0x04, 0x5a, 0xfe, 0x11, 0x33, 0xb3, 0xb3, 0x65, 0xb7, 0x65, 0x31, + 0xe2, 0x6d, 0xfa, 0xe6, 0xbd, 0xef, 0xe7, 0x3b, 0xf3, 0xde, 0x76, 0xc0, 0xe6, 0x47, 0xd4, 0x45, + 0x2a, 0x71, 0x3b, 0xd8, 0x0d, 0x49, 0x17, 0xab, 0xdd, 0x2d, 0x03, 0x87, 0x68, 0x4b, 0xb5, 0xb0, + 0x8b, 0x29, 0xa1, 0x8a, 0x1f, 0x78, 0xa1, 0x07, 0x97, 0x59, 0x96, 0x32, 0xcc, 0x52, 0x44, 0x56, + 0xad, 0x62, 0x79, 0x96, 0xc7, 0x53, 0x54, 0xb6, 0x8a, 0xb3, 0x6b, 0x1b, 0x39, 0x9a, 0x1d, 0x1b, + 0x11, 0x87, 0xfe, 0x25, 0xc9, 0x47, 0x01, 0x1a, 0x26, 0xd5, 0x2d, 0xcf, 0xb3, 0x6c, 0xac, 0xf2, + 0x5f, 0x46, 0x74, 0xa0, 0x86, 0xc4, 0xc1, 0x34, 0x44, 0x8e, 0x1f, 0x27, 0xac, 0x7f, 0x97, 0xc0, + 0xe2, 0xb3, 0x4e, 0x27, 0x72, 0x22, 0x1b, 0x85, 0xc4, 0x73, 0xf7, 0x89, 0x83, 0xe1, 0x03, 0x50, + 0xea, 0x78, 0xb6, 0x8d, 0x42, 0x1c, 0x20, 0xbb, 0x1d, 0xf6, 0x7d, 0x5c, 0x95, 0xd6, 0xa4, 0xc6, + 0xac, 0xbe, 0x70, 0x19, 0xde, 0xef, 0xfb, 0x18, 0x1a, 0xa0, 0xe6, 0x07, 0xb8, 0x4b, 0xbc, 0x88, + 0xb6, 0x51, 0x4a, 0xa5, 0xcd, 0x30, 0xd5, 0x89, 0x35, 0xa9, 0x51, 0x6c, 0xd6, 0x94, 0xd8, 0x83, + 0x92, 0x78, 0x50, 0xf6, 0x13, 0x0f, 0xda, 0xcc, 0xc9, 0x59, 0xbd, 0x70, 0x7c, 0x5e, 0x97, 0xf4, + 0x6a, 0xa2, 0x33, 0x6a, 0x66, 0xfd, 0xf3, 0x04, 0x80, 0x2f, 0xe2, 0xcb, 0xd4, 0x71, 0x0f, 0x05, + 0x66, 0x2b, 0x44, 0x21, 0x86, 0x01, 0x80, 0x63, 0x44, 0x5a, 0x95, 0xd6, 0x26, 0x1b, 0xc5, 0x66, + 0x43, 0xb9, 0xfa, 0xba, 0x95, 0x51, 0x71, 0xed, 0x2e, 0x33, 0xf0, 0xe3, 0xbc, 0x5e, 0x1e, 0xdd, + 0xa1, 0x7a, 0x19, 0x8d, 0x86, 0x60, 0x17, 0x54, 0x9c, 0xc8, 0x0e, 0x49, 0x3b, 0xe0, 0x46, 0xda, + 0xc4, 0x35, 0xf1, 0x11, 0xa6, 0xd5, 0x89, 0xeb, 0xa9, 0xbb, 0xac, 0x26, 0xf6, 0xbe, 0xc3, 0x2a, + 0xb4, 0x9a, 0xa0, 0xc2, 0xd1, 0x1d, 0x4c, 0x75, 0xe8, 0x8c, 0xc5, 0xd6, 0xbf, 0x02, 0x30, 0x27, + 0xae, 0x20, 0x3e, 0xfc, 0x53, 0x30, 0x1d, 0xb7, 0x99, 0xf7, 0xa5, 0xd8, 0x94, 0xf3, 0xd0, 0x7b, + 0x3c, 0x4b, 0x9b, 0x62, 0x40, 0x5d, 0xd4, 0x40, 0x0f, 0x94, 0x23, 0x6a, 0x1e, 0x25, 0xa7, 0xa0, + 0x4c, 0x52, 0x34, 0xeb, 0x61, 0x9e, 0xd0, 0x78, 0x07, 0xb4, 0x15, 0x26, 0x3a, 0x38, 0xab, 0x97, + 0x5e, 0xb7, 0xb6, 0xdf, 0xa6, 0x36, 0xf4, 0x12, 0x53, 0x4f, 0xf7, 0x8a, 0x80, 0xea, 0x21, 0x27, + 0x45, 0xbe, 0x6f, 0xf7, 0xb3, 0xdc, 0xc9, 0x7f, 0xe6, 0xc6, 0x87, 0x59, 0x62, 0x8a, 0x2d, 0x2e, + 0x78, 0x15, 0xca, 0xf0, 0x82, 0xc0, 0xeb, 0x65, 0x51, 0x53, 0xff, 0x83, 0xd2, 0xb8, 0x60, 0x1a, + 0x75, 0x00, 0x96, 0x4d, 0x6c, 0x63, 0x0b, 0x85, 0x5e, 0x90, 0x05, 0xdd, 0xba, 0x21, 0xa8, 0x32, + 0xd4, 0x4b, 0x73, 0xde, 0x83, 0x32, 0xed, 0x21, 0x3f, 0x8b, 0x98, 0xbe, 0x21, 0xa2, 0xc4, 0xa4, + 0xd2, 0xea, 0x5f, 0x24, 0x70, 0x87, 0x4f, 0x83, 0x43, 0xdc, 0x90, 0xb8, 0x56, 0x3b, 0xfe, 0x93, + 0xa9, 0xde, 0xbe, 0x7e, 0xa6, 0x59, 0xcf, 0x77, 0xe3, 0x8a, 0xe7, 0xac, 0x40, 0x53, 0xc4, 0x34, + 0x94, 0x47, 0x77, 0x28, 0xfb, 0xbc, 0xc6, 0x82, 0x3a, 0x1f, 0xc1, 0x4c, 0x08, 0x7e, 0x93, 0x80, + 0xcc, 0x9b, 0x67, 0x93, 0x4f, 0x11, 0x31, 0x49, 0xd8, 0x6f, 0xfb, 0x81, 0xd7, 0x25, 0x26, 0x0e, + 0x12, 0x57, 0x33, 0xdc, 0x55, 0x33, 0xcf, 0xd5, 0x4b, 0x14, 0x98, 0xaf, 0x92, 0xe2, 0x3d, 0x51, + 0x1b, 0xfb, 0xdb, 0x10, 0xdf, 0xdc, 0x6a, 0x7e, 0x0e, 0xd5, 0x57, 0x0f, 0xf3, 0x37, 0xe1, 0x07, + 0xb0, 0x78, 0xd9, 0x6f, 0xe1, 0x67, 0x96, 0xfb, 0xb9, 0x9f, 0xe7, 0x67, 0x3b, 0xc9, 0x8f, 0x3d, + 0xac, 0x08, 0x0f, 0xa5, 0x6c, 0x9c, 0xea, 0x25, 0x33, 0x1b, 0x80, 0x6f, 0x40, 0x91, 0xf7, 0x5c, + 0x60, 0x00, 0xc7, 0xdc, 0xcb, 0xc3, 0xb4, 0x7a, 0xc8, 0x8f, 0x09, 0x50, 0x10, 0xc0, 0x30, 0x44, + 0x75, 0x40, 0x87, 0x6b, 0x68, 0x80, 0x0a, 0x45, 0x5d, 0xe2, 0x5a, 0x34, 0x3b, 0x4e, 0xc5, 0x1b, + 0x8e, 0x13, 0x14, 0x6a, 0xe9, 0x89, 0x32, 0xc0, 0x42, 0xc2, 0x10, 0xf6, 0xe7, 0xb8, 0xfd, 0xcd, + 0x5c, 0xfb, 0x71, 0x76, 0x7c, 0x82, 0x25, 0x71, 0x82, 0xf9, 0x74, 0x94, 0xea, 0xf3, 0x34, 0xfd, + 0x53, 0xdb, 0x39, 0xf9, 0x2d, 0x17, 0x4e, 0x06, 0xb2, 0x74, 0x3a, 0x90, 0xa5, 0x5f, 0x03, 0x59, + 0x3a, 0xbe, 0x90, 0x0b, 0xa7, 0x17, 0x72, 0xe1, 0xe7, 0x85, 0x5c, 0x78, 0xf7, 0xc8, 0x22, 0xe1, + 0x61, 0x64, 0x28, 0x1d, 0xcf, 0x51, 0x19, 0xf3, 0xb1, 0x8d, 0x0c, 0xca, 0x57, 0xea, 0x51, 0xea, + 0xc5, 0x64, 0x0f, 0x1b, 0x35, 0xa6, 0xf9, 0xbb, 0xf4, 0xe4, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xfd, 0x2b, 0xb5, 0x5f, 0xc9, 0x07, 0x00, 0x00, } func (m *AccumulationTime) Marshal() (dAtA []byte, err error) { @@ -319,6 +324,30 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.SavingsClaims) > 0 { + for iNdEx := len(m.SavingsClaims) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.SavingsClaims[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x62 + } + } + { + size, err := m.SavingsRewardState.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x5a if len(m.SwapClaims) > 0 { for iNdEx := len(m.SwapClaims) - 1; iNdEx >= 0; iNdEx-- { { @@ -527,6 +556,14 @@ func (m *GenesisState) Size() (n int) { n += 1 + l + sovGenesis(uint64(l)) } } + l = m.SavingsRewardState.Size() + n += 1 + l + sovGenesis(uint64(l)) + if len(m.SavingsClaims) > 0 { + for _, e := range m.SavingsClaims { + l = e.Size() + n += 1 + l + sovGenesis(uint64(l)) + } + } return n } @@ -1132,6 +1169,73 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SavingsRewardState", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.SavingsRewardState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SavingsClaims", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SavingsClaims = append(m.SavingsClaims, SavingsClaim{}) + if err := m.SavingsClaims[len(m.SavingsClaims)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/x/incentive/types/params.pb.go b/x/incentive/types/params.pb.go index cdd12d0d..6c45105c 100644 --- a/x/incentive/types/params.pb.go +++ b/x/incentive/types/params.pb.go @@ -199,9 +199,9 @@ type Params struct { HardBorrowRewardPeriods MultiRewardPeriods `protobuf:"bytes,3,rep,name=hard_borrow_reward_periods,json=hardBorrowRewardPeriods,proto3,castrepeated=MultiRewardPeriods" json:"hard_borrow_reward_periods"` DelegatorRewardPeriods MultiRewardPeriods `protobuf:"bytes,4,rep,name=delegator_reward_periods,json=delegatorRewardPeriods,proto3,castrepeated=MultiRewardPeriods" json:"delegator_reward_periods"` SwapRewardPeriods MultiRewardPeriods `protobuf:"bytes,5,rep,name=swap_reward_periods,json=swapRewardPeriods,proto3,castrepeated=MultiRewardPeriods" json:"swap_reward_periods"` - SavingsRewardPeriods MultiRewardPeriods `protobuf:"bytes,6,rep,name=savings_reward_periods,json=savingsRewardPeriods,proto3,castrepeated=MultiRewardPeriods" json:"savings_reward_periods"` - ClaimMultipliers MultipliersPerDenoms `protobuf:"bytes,7,rep,name=claim_multipliers,json=claimMultipliers,proto3,castrepeated=MultipliersPerDenoms" json:"claim_multipliers"` - ClaimEnd time.Time `protobuf:"bytes,8,opt,name=claim_end,json=claimEnd,proto3,stdtime" json:"claim_end"` + ClaimMultipliers MultipliersPerDenoms `protobuf:"bytes,6,rep,name=claim_multipliers,json=claimMultipliers,proto3,castrepeated=MultipliersPerDenoms" json:"claim_multipliers"` + ClaimEnd time.Time `protobuf:"bytes,7,opt,name=claim_end,json=claimEnd,proto3,stdtime" json:"claim_end"` + SavingsRewardPeriods MultiRewardPeriods `protobuf:"bytes,8,rep,name=savings_reward_periods,json=savingsRewardPeriods,proto3,castrepeated=MultiRewardPeriods" json:"savings_reward_periods"` } func (m *Params) Reset() { *m = Params{} } @@ -250,55 +250,55 @@ func init() { } var fileDescriptor_bb8833f5d745eac9 = []byte{ - // 758 bytes of a gzipped FileDescriptorProto + // 760 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x96, 0x4f, 0x4f, 0x13, 0x4f, 0x18, 0xc7, 0xbb, 0xfd, 0x47, 0x19, 0xe0, 0xf7, 0x83, 0xa1, 0xa9, 0x6b, 0x35, 0x5b, 0x52, 0x8c, 0xd6, 0x10, 0x76, 0x45, 0x13, 0x0f, 0xde, 0x5c, 0xd1, 0xc4, 0x44, 0x12, 0xb2, 0x60, 0xa2, 0x5e, 0x9a, 0xe9, 0xee, 0xb0, 0x6c, 0xd8, 0xdd, 0xd9, 0xcc, 0x4c, 0x0b, 0x8d, 0x07, 0x13, 0x0f, 0xde, 0x4c, 0x88, 0x07, 0x5f, 0x04, 0x6f, 0xc3, 0x0b, 0x47, 0x8e, 0x46, 0x13, 0xd0, 0xf2, 0x46, 0xcc, - 0xcc, 0x2e, 0x74, 0x5b, 0x0b, 0x4a, 0xd2, 0x8b, 0xa7, 0xce, 0x9f, 0xe7, 0x79, 0x3e, 0xdf, 0xf9, - 0x76, 0x9e, 0xc9, 0x82, 0xc5, 0x1d, 0xd4, 0x41, 0x86, 0x17, 0xda, 0x38, 0xe4, 0x5e, 0x07, 0x1b, - 0x9d, 0x95, 0x16, 0xe6, 0x68, 0xc5, 0x88, 0x10, 0x45, 0x01, 0xd3, 0x23, 0x4a, 0x38, 0x81, 0x15, - 0x11, 0xa4, 0x9f, 0x07, 0xe9, 0x49, 0x50, 0xb5, 0xec, 0x12, 0x97, 0xc8, 0x10, 0x43, 0x8c, 0xe2, - 0xe8, 0x6a, 0xcd, 0x25, 0xc4, 0xf5, 0xb1, 0x21, 0x67, 0xad, 0xf6, 0x96, 0xc1, 0xbd, 0x00, 0x33, - 0x8e, 0x82, 0x28, 0x09, 0xd0, 0x6c, 0xc2, 0x02, 0xc2, 0x8c, 0x16, 0x62, 0x7d, 0xa0, 0x4d, 0xbc, - 0x30, 0xde, 0xaf, 0x7f, 0xca, 0x82, 0x69, 0x0b, 0xef, 0x22, 0xea, 0xac, 0x63, 0xea, 0x11, 0x07, - 0x56, 0x40, 0x11, 0xd9, 0x82, 0xac, 0x2a, 0x0b, 0x4a, 0xa3, 0x64, 0x25, 0x33, 0x78, 0x07, 0xfc, - 0x6f, 0x13, 0xdf, 0x47, 0x1c, 0x53, 0xe4, 0x37, 0x79, 0x37, 0xc2, 0x6a, 0x76, 0x41, 0x69, 0x4c, - 0x5a, 0xff, 0xf5, 0x97, 0x37, 0xbb, 0x11, 0x86, 0x8f, 0x40, 0x81, 0x71, 0x44, 0xb9, 0x9a, 0x5b, - 0x50, 0x1a, 0x53, 0xf7, 0xab, 0x7a, 0x2c, 0x51, 0x3f, 0x93, 0xa8, 0x6f, 0x9e, 0x49, 0x34, 0x4b, - 0x87, 0xc7, 0xb5, 0xcc, 0xfe, 0x49, 0x4d, 0xb1, 0xe2, 0x14, 0xf8, 0x10, 0xe4, 0x70, 0xe8, 0xa8, - 0xf9, 0x2b, 0x64, 0x8a, 0x04, 0xb8, 0x06, 0x20, 0x95, 0x87, 0x60, 0xcd, 0x08, 0xd3, 0x26, 0xc3, - 0x36, 0x09, 0x1d, 0xb5, 0x20, 0xcb, 0x5c, 0xd7, 0x63, 0x0b, 0x74, 0x61, 0xc1, 0x99, 0x9d, 0xfa, - 0x13, 0xe2, 0x85, 0x66, 0x5e, 0x54, 0xb1, 0x66, 0x93, 0xd4, 0x75, 0x4c, 0x37, 0x64, 0x62, 0xfd, - 0x4b, 0x16, 0xcc, 0xad, 0xb5, 0x7d, 0xee, 0xfd, 0xfb, 0xce, 0x74, 0x2f, 0x70, 0x26, 0x77, 0xb9, - 0x33, 0xf7, 0x44, 0x95, 0x83, 0x93, 0x5a, 0xc3, 0xf5, 0xf8, 0x76, 0xbb, 0xa5, 0xdb, 0x24, 0x30, - 0x92, 0x9b, 0x14, 0xff, 0x2c, 0x33, 0x67, 0xc7, 0x10, 0x67, 0x65, 0x32, 0x81, 0x8d, 0x70, 0xf1, - 0xa3, 0x02, 0x80, 0x74, 0x31, 0xf2, 0x3d, 0x4c, 0x21, 0x04, 0xf9, 0x10, 0x05, 0xb1, 0x79, 0x93, - 0x96, 0x1c, 0xc3, 0x45, 0x30, 0x13, 0x90, 0x90, 0x6f, 0xb3, 0xa6, 0x4f, 0xec, 0x9d, 0x76, 0x24, - 0x8d, 0xcb, 0x59, 0xd3, 0xf1, 0xe2, 0x0b, 0xb9, 0x06, 0x9f, 0x81, 0xe2, 0x16, 0xb2, 0x39, 0xa1, - 0xd2, 0xb7, 0x69, 0x53, 0x17, 0xda, 0xbe, 0x1d, 0xd7, 0x6e, 0xff, 0x85, 0xb6, 0x55, 0x6c, 0x5b, - 0x49, 0x76, 0xfd, 0x83, 0x02, 0xe6, 0xfb, 0x7a, 0x84, 0xd0, 0x55, 0x1c, 0x92, 0x00, 0x96, 0x41, - 0xc1, 0x11, 0x83, 0x44, 0x59, 0x3c, 0x81, 0xaf, 0xc1, 0x54, 0xd0, 0x0f, 0x56, 0xb3, 0xd2, 0xb1, - 0xba, 0x3e, 0xba, 0x3b, 0xf5, 0x7e, 0x5d, 0x73, 0x3e, 0xb1, 0x6e, 0x2a, 0xc5, 0xb2, 0xd2, 0xb5, - 0xea, 0xdf, 0x27, 0x40, 0x71, 0x5d, 0xf6, 0x3c, 0xfc, 0xac, 0x80, 0x1b, 0x6d, 0xe6, 0xec, 0x35, - 0x03, 0x2f, 0xe4, 0x5e, 0xe8, 0x36, 0x63, 0x17, 0xc5, 0x7f, 0xe5, 0x11, 0x87, 0xa9, 0x8a, 0xc4, - 0xde, 0xba, 0x08, 0x9b, 0xbe, 0x9f, 0xe6, 0x8a, 0x00, 0xf7, 0x8e, 0x6b, 0xea, 0xcb, 0x8d, 0xd5, - 0x57, 0x6b, 0x71, 0xbd, 0x74, 0x00, 0x3b, 0x38, 0xa9, 0xcd, 0x0c, 0x2c, 0x58, 0xaa, 0x60, 0x8f, - 0x0a, 0x85, 0xef, 0x15, 0x50, 0xdd, 0x16, 0x4a, 0x58, 0x3b, 0x8a, 0xfc, 0xee, 0xb0, 0xae, 0xd8, - 0x8e, 0xbb, 0x97, 0xda, 0x31, 0x20, 0xae, 0x9a, 0xb8, 0x02, 0x7f, 0xdb, 0x62, 0xd6, 0x35, 0x01, - 0xda, 0x90, 0x9c, 0x0b, 0x44, 0xb4, 0x08, 0xa5, 0x64, 0x77, 0x58, 0x44, 0x6e, 0xec, 0x22, 0x4c, - 0xc9, 0x19, 0x14, 0xf1, 0x0e, 0xa8, 0x0e, 0xf6, 0xb1, 0x8b, 0x38, 0xa1, 0xc3, 0x0a, 0xf2, 0xe3, - 0x54, 0x50, 0x39, 0xc7, 0x0c, 0x0a, 0x68, 0x83, 0x79, 0xb6, 0x8b, 0xa2, 0x61, 0x76, 0x61, 0x9c, - 0xec, 0x39, 0x41, 0x18, 0xc4, 0xbe, 0x05, 0x15, 0x86, 0x3a, 0x5e, 0xe8, 0xb2, 0x61, 0x72, 0x71, - 0x9c, 0xe4, 0x72, 0x02, 0x19, 0x84, 0x77, 0xc0, 0x9c, 0xed, 0x23, 0x2f, 0x68, 0xa6, 0x7b, 0x70, - 0x42, 0x72, 0x97, 0xfe, 0xdc, 0x83, 0xe7, 0xbd, 0x6d, 0xde, 0x4c, 0xc8, 0xe5, 0x11, 0x9b, 0xcc, - 0x9a, 0x95, 0x8c, 0xd4, 0x16, 0x7c, 0x0c, 0x26, 0x63, 0xae, 0x78, 0x6c, 0x4b, 0x57, 0x78, 0x6c, - 0x4b, 0x32, 0xed, 0x69, 0xe8, 0x98, 0xcf, 0x0f, 0x7f, 0x6a, 0x99, 0xc3, 0x9e, 0xa6, 0x1c, 0xf5, - 0x34, 0xe5, 0x47, 0x4f, 0x53, 0xf6, 0x4f, 0xb5, 0xcc, 0xd1, 0xa9, 0x96, 0xf9, 0x7a, 0xaa, 0x65, - 0xde, 0x2c, 0xa5, 0x1e, 0x2d, 0x71, 0x8e, 0x65, 0x1f, 0xb5, 0x98, 0x1c, 0x19, 0x7b, 0xa9, 0x4f, - 0x03, 0xf9, 0x7a, 0xb5, 0x8a, 0x12, 0xf9, 0xe0, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x30, 0x0f, - 0x7e, 0x30, 0x39, 0x08, 0x00, 0x00, + 0xcc, 0x2e, 0x74, 0x5b, 0x0b, 0x4a, 0xd2, 0x8b, 0x27, 0x66, 0x9e, 0x79, 0x9e, 0xe7, 0xf3, 0x9d, + 0x2f, 0xfb, 0x4c, 0x0a, 0x16, 0x77, 0x50, 0x07, 0x19, 0x5e, 0x68, 0xe3, 0x90, 0x7b, 0x1d, 0x6c, + 0x74, 0x56, 0x5a, 0x98, 0xa3, 0x15, 0x23, 0x42, 0x14, 0x05, 0x4c, 0x8f, 0x28, 0xe1, 0x04, 0x56, + 0x44, 0x92, 0x7e, 0x9e, 0xa4, 0x27, 0x49, 0xd5, 0xb2, 0x4b, 0x5c, 0x22, 0x53, 0x0c, 0xb1, 0x8a, + 0xb3, 0xab, 0x35, 0x97, 0x10, 0xd7, 0xc7, 0x86, 0xdc, 0xb5, 0xda, 0x5b, 0x06, 0xf7, 0x02, 0xcc, + 0x38, 0x0a, 0xa2, 0x24, 0x41, 0xb3, 0x09, 0x0b, 0x08, 0x33, 0x5a, 0x88, 0xf5, 0x81, 0x36, 0xf1, + 0xc2, 0xf8, 0xbc, 0xfe, 0x29, 0x0b, 0xa6, 0x2d, 0xbc, 0x8b, 0xa8, 0xb3, 0x8e, 0xa9, 0x47, 0x1c, + 0x58, 0x01, 0x45, 0x64, 0x0b, 0xb2, 0xaa, 0x2c, 0x28, 0x8d, 0x92, 0x95, 0xec, 0xe0, 0x1d, 0xf0, + 0xbf, 0x4d, 0x7c, 0x1f, 0x71, 0x4c, 0x91, 0xdf, 0xe4, 0xdd, 0x08, 0xab, 0xd9, 0x05, 0xa5, 0x31, + 0x69, 0xfd, 0xd7, 0x0f, 0x6f, 0x76, 0x23, 0x0c, 0x1f, 0x81, 0x02, 0xe3, 0x88, 0x72, 0x35, 0xb7, + 0xa0, 0x34, 0xa6, 0xee, 0x57, 0xf5, 0x58, 0xa2, 0x7e, 0x26, 0x51, 0xdf, 0x3c, 0x93, 0x68, 0x96, + 0x0e, 0x8f, 0x6b, 0x99, 0xfd, 0x93, 0x9a, 0x62, 0xc5, 0x25, 0xf0, 0x21, 0xc8, 0xe1, 0xd0, 0x51, + 0xf3, 0x57, 0xa8, 0x14, 0x05, 0x70, 0x0d, 0x40, 0x2a, 0x2f, 0xc1, 0x9a, 0x11, 0xa6, 0x4d, 0x86, + 0x6d, 0x12, 0x3a, 0x6a, 0x41, 0xb6, 0xb9, 0xae, 0xc7, 0x16, 0xe8, 0xc2, 0x82, 0x33, 0x3b, 0xf5, + 0x27, 0xc4, 0x0b, 0xcd, 0xbc, 0xe8, 0x62, 0xcd, 0x26, 0xa5, 0xeb, 0x98, 0x6e, 0xc8, 0xc2, 0xfa, + 0x97, 0x2c, 0x98, 0x5b, 0x6b, 0xfb, 0xdc, 0xfb, 0xf7, 0x9d, 0xe9, 0x5e, 0xe0, 0x4c, 0xee, 0x72, + 0x67, 0xee, 0x89, 0x2e, 0x07, 0x27, 0xb5, 0x86, 0xeb, 0xf1, 0xed, 0x76, 0x4b, 0xb7, 0x49, 0x60, + 0x24, 0x5f, 0x52, 0xfc, 0x67, 0x99, 0x39, 0x3b, 0x86, 0xb8, 0x2b, 0x93, 0x05, 0x6c, 0x84, 0x8b, + 0x1f, 0x15, 0x00, 0xa4, 0x8b, 0x91, 0xef, 0x61, 0x0a, 0x21, 0xc8, 0x87, 0x28, 0x88, 0xcd, 0x9b, + 0xb4, 0xe4, 0x1a, 0x2e, 0x82, 0x99, 0x80, 0x84, 0x7c, 0x9b, 0x35, 0x7d, 0x62, 0xef, 0xb4, 0x23, + 0x69, 0x5c, 0xce, 0x9a, 0x8e, 0x83, 0x2f, 0x64, 0x0c, 0x3e, 0x03, 0xc5, 0x2d, 0x64, 0x73, 0x42, + 0xa5, 0x6f, 0xd3, 0xa6, 0x2e, 0xb4, 0x7d, 0x3b, 0xae, 0xdd, 0xfe, 0x0b, 0x6d, 0xab, 0xd8, 0xb6, + 0x92, 0xea, 0xfa, 0x07, 0x05, 0xcc, 0xf7, 0xf5, 0x08, 0xa1, 0xab, 0x38, 0x24, 0x01, 0x2c, 0x83, + 0x82, 0x23, 0x16, 0x89, 0xb2, 0x78, 0x03, 0x5f, 0x83, 0xa9, 0xa0, 0x9f, 0xac, 0x66, 0xa5, 0x63, + 0x75, 0x7d, 0xf4, 0x74, 0xea, 0xfd, 0xbe, 0xe6, 0x7c, 0x62, 0xdd, 0x54, 0x8a, 0x65, 0xa5, 0x7b, + 0xd5, 0xbf, 0x4f, 0x80, 0xe2, 0xba, 0x9c, 0x79, 0xf8, 0x59, 0x01, 0x37, 0xda, 0xcc, 0xd9, 0x6b, + 0x06, 0x5e, 0xc8, 0xbd, 0xd0, 0x6d, 0xc6, 0x2e, 0x8a, 0xff, 0x95, 0x47, 0x1c, 0xa6, 0x2a, 0x12, + 0x7b, 0xeb, 0x22, 0x6c, 0xfa, 0xfb, 0x34, 0x57, 0x04, 0xb8, 0x77, 0x5c, 0x53, 0x5f, 0x6e, 0xac, + 0xbe, 0x5a, 0x8b, 0xfb, 0xa5, 0x13, 0xd8, 0xc1, 0x49, 0x6d, 0x66, 0x20, 0x60, 0xa9, 0x82, 0x3d, + 0x2a, 0x15, 0xbe, 0x57, 0x40, 0x75, 0x5b, 0x28, 0x61, 0xed, 0x28, 0xf2, 0xbb, 0xc3, 0xba, 0x62, + 0x3b, 0xee, 0x5e, 0x6a, 0xc7, 0x80, 0xb8, 0x6a, 0xe2, 0x0a, 0xfc, 0xed, 0x88, 0x59, 0xd7, 0x04, + 0x68, 0x43, 0x72, 0x2e, 0x10, 0xd1, 0x22, 0x94, 0x92, 0xdd, 0x61, 0x11, 0xb9, 0xb1, 0x8b, 0x30, + 0x25, 0x67, 0x50, 0xc4, 0x3b, 0xa0, 0x3a, 0xd8, 0xc7, 0x2e, 0xe2, 0x84, 0x0e, 0x2b, 0xc8, 0x8f, + 0x53, 0x41, 0xe5, 0x1c, 0x33, 0x28, 0xa0, 0x0d, 0xe6, 0xd9, 0x2e, 0x8a, 0x86, 0xd9, 0x85, 0x71, + 0xb2, 0xe7, 0x04, 0x61, 0x10, 0xdb, 0x01, 0x73, 0xb6, 0x8f, 0xbc, 0xa0, 0x99, 0x1e, 0x83, 0xa2, + 0x84, 0x2e, 0xfd, 0x79, 0x0c, 0xce, 0xc7, 0xcb, 0xbc, 0x99, 0x60, 0xcb, 0x23, 0x0e, 0x99, 0x35, + 0x2b, 0x19, 0xa9, 0x23, 0xf8, 0x18, 0x4c, 0xc6, 0x5c, 0xf1, 0xde, 0x4d, 0x5c, 0xe1, 0xbd, 0x2b, + 0xc9, 0xb2, 0xa7, 0xa1, 0x03, 0xdf, 0x82, 0x0a, 0x43, 0x1d, 0x2f, 0x74, 0xd9, 0xb0, 0x69, 0xa5, + 0x71, 0x9a, 0x56, 0x4e, 0x20, 0x03, 0x51, 0xf3, 0xf9, 0xe1, 0x4f, 0x2d, 0x73, 0xd8, 0xd3, 0x94, + 0xa3, 0x9e, 0xa6, 0xfc, 0xe8, 0x69, 0xca, 0xfe, 0xa9, 0x96, 0x39, 0x3a, 0xd5, 0x32, 0x5f, 0x4f, + 0xb5, 0xcc, 0x9b, 0xa5, 0xd4, 0xa3, 0x25, 0x44, 0x2c, 0xfb, 0xa8, 0xc5, 0xe4, 0xca, 0xd8, 0x4b, + 0xfd, 0x34, 0x90, 0xaf, 0x57, 0xab, 0x28, 0xef, 0xfb, 0xe0, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x8f, 0x22, 0xdc, 0x69, 0x39, 0x08, 0x00, 0x00, } func (m *RewardPeriod) Marshal() (dAtA []byte, err error) { @@ -546,18 +546,10 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - n6, err6 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.ClaimEnd, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.ClaimEnd):]) - if err6 != nil { - return 0, err6 - } - i -= n6 - i = encodeVarintParams(dAtA, i, uint64(n6)) - i-- - dAtA[i] = 0x42 - if len(m.ClaimMultipliers) > 0 { - for iNdEx := len(m.ClaimMultipliers) - 1; iNdEx >= 0; iNdEx-- { + if len(m.SavingsRewardPeriods) > 0 { + for iNdEx := len(m.SavingsRewardPeriods) - 1; iNdEx >= 0; iNdEx-- { { - size, err := m.ClaimMultipliers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + size, err := m.SavingsRewardPeriods[iNdEx].MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -565,13 +557,21 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintParams(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x3a + dAtA[i] = 0x42 } } - if len(m.SavingsRewardPeriods) > 0 { - for iNdEx := len(m.SavingsRewardPeriods) - 1; iNdEx >= 0; iNdEx-- { + n6, err6 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.ClaimEnd, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.ClaimEnd):]) + if err6 != nil { + return 0, err6 + } + i -= n6 + i = encodeVarintParams(dAtA, i, uint64(n6)) + i-- + dAtA[i] = 0x3a + if len(m.ClaimMultipliers) > 0 { + for iNdEx := len(m.ClaimMultipliers) - 1; iNdEx >= 0; iNdEx-- { { - size, err := m.SavingsRewardPeriods[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + size, err := m.ClaimMultipliers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -787,12 +787,6 @@ func (m *Params) Size() (n int) { n += 1 + l + sovParams(uint64(l)) } } - if len(m.SavingsRewardPeriods) > 0 { - for _, e := range m.SavingsRewardPeriods { - l = e.Size() - n += 1 + l + sovParams(uint64(l)) - } - } if len(m.ClaimMultipliers) > 0 { for _, e := range m.ClaimMultipliers { l = e.Size() @@ -801,6 +795,12 @@ func (m *Params) Size() (n int) { } l = github_com_gogo_protobuf_types.SizeOfStdTime(m.ClaimEnd) n += 1 + l + sovParams(uint64(l)) + if len(m.SavingsRewardPeriods) > 0 { + for _, e := range m.SavingsRewardPeriods { + l = e.Size() + n += 1 + l + sovParams(uint64(l)) + } + } return n } @@ -1663,40 +1663,6 @@ func (m *Params) Unmarshal(dAtA []byte) error { } iNdEx = postIndex case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SavingsRewardPeriods", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowParams - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthParams - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthParams - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SavingsRewardPeriods = append(m.SavingsRewardPeriods, MultiRewardPeriod{}) - if err := m.SavingsRewardPeriods[len(m.SavingsRewardPeriods)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ClaimMultipliers", wireType) } @@ -1730,7 +1696,7 @@ func (m *Params) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 8: + case 7: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ClaimEnd", wireType) } @@ -1763,6 +1729,40 @@ func (m *Params) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SavingsRewardPeriods", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthParams + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthParams + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SavingsRewardPeriods = append(m.SavingsRewardPeriods, MultiRewardPeriod{}) + if err := m.SavingsRewardPeriods[len(m.SavingsRewardPeriods)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipParams(dAtA[iNdEx:])