feat: add validator pop reward as chain param

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
This commit is contained in:
Lorenz Herzberger 2024-06-27 16:18:35 +02:00
parent d2def2b453
commit 208ad70ab0
No known key found for this signature in database
GPG Key ID: FA5EE906EB55316A
8 changed files with 123 additions and 34 deletions

View File

@ -999,4 +999,7 @@ func (app *App) setupUpgradeHandlers() {
app.UpgradeKeeper.SetUpgradeHandler("v0.10.0", func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) { app.UpgradeKeeper.SetUpgradeHandler("v0.10.0", func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
return app.mm.RunMigrations(ctx, app.configurator, fromVM) return app.mm.RunMigrations(ctx, app.configurator, fromVM)
}) })
app.UpgradeKeeper.SetUpgradeHandler("v0.10.3", func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
return app.mm.RunMigrations(ctx, app.configurator, fromVM)
})
} }

View File

@ -25,4 +25,5 @@ message Params {
int64 mqtt_response_timeout = 14; int64 mqtt_response_timeout = 14;
string claim_address = 15; string claim_address = 15;
uint64 tx_gas_limit = 16; uint64 tx_gas_limit = 16;
uint64 validator_pop_reward = 17;
} }

View File

@ -3,6 +3,7 @@ package keeper
import ( import (
sdk "github.com/cosmos/cosmos-sdk/types" sdk "github.com/cosmos/cosmos-sdk/types"
v2 "github.com/planetmint/planetmint-go/x/dao/migrations/v2" v2 "github.com/planetmint/planetmint-go/x/dao/migrations/v2"
v3 "github.com/planetmint/planetmint-go/x/dao/migrations/v3"
) )
// Migrator is a struct for handling in-place store migrations. // Migrator is a struct for handling in-place store migrations.
@ -19,3 +20,7 @@ func NewMigrator(keeper Keeper) Migrator {
func (m Migrator) Migrate1to2(ctx sdk.Context) error { func (m Migrator) Migrate1to2(ctx sdk.Context) error {
return v2.MigrateStore(ctx, m.keeper.storeKey, m.keeper.cdc) return v2.MigrateStore(ctx, m.keeper.storeKey, m.keeper.cdc)
} }
func (m Migrator) Migrate2to3(ctx sdk.Context) error {
return v3.MigrateParams(ctx, m.keeper.storeKey, m.keeper.cdc)
}

View File

@ -42,3 +42,7 @@ func (k Keeper) GetTxGasLimit(ctx sdk.Context) (txGasLimit uint64) {
func (k Keeper) GetClaimAddress(ctx sdk.Context) (claimAddress string) { func (k Keeper) GetClaimAddress(ctx sdk.Context) (claimAddress string) {
return k.GetParams(ctx).ClaimAddress return k.GetParams(ctx).ClaimAddress
} }
func (k Keeper) GetValidatorPoPReward(ctx sdk.Context) (validatorPoPReward uint64) {
return k.GetParams(ctx).ValidatorPopReward
}

View File

@ -0,0 +1,31 @@
package v3
import (
"github.com/cosmos/cosmos-sdk/codec"
storetypes "github.com/cosmos/cosmos-sdk/store/types"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/planetmint/planetmint-go/x/dao/types"
)
func MigrateParams(ctx sdk.Context, storeKey storetypes.StoreKey, cdc codec.BinaryCodec) error {
store := ctx.KVStore(storeKey)
paramBytes := store.Get(types.KeyPrefix(types.ParamsKey))
var params types.Params
err := cdc.Unmarshal(paramBytes, &params)
if err != nil {
return err
}
params.ValidatorPopReward = 1
// migratedParams := types.NewParams(params.MintAddress, params.TokenDenom, params.StagedDenom, params.ClaimDenom, params.ReissuanceAsset, params.ReissuanceEpochs, params.PopEpochs, params.DistributionOffset, params.DistributionAddressEarlyInv, params.DistributionAddressInvestor, params.DistributionAddressStrategic, params.DistributionAddressDao, params.DistributionAddressPop, params.MqttResponseTimeout, params.ClaimAddress, params.TxGasLimit, 1)
bz, err := cdc.Marshal(&params)
if err != nil {
return err
}
store.Set(types.KeyPrefix(types.ParamsKey), bz)
return nil
}

View File

@ -122,6 +122,9 @@ func (am AppModule) RegisterServices(cfg module.Configurator) {
if err := cfg.RegisterMigration(types.ModuleName, 2, m.Migrate1to2); err != nil { if err := cfg.RegisterMigration(types.ModuleName, 2, m.Migrate1to2); err != nil {
panic(fmt.Errorf("failed to register migration of %s to v2: %w", types.ModuleName, err)) panic(fmt.Errorf("failed to register migration of %s to v2: %w", types.ModuleName, err))
} }
if err := cfg.RegisterMigration(types.ModuleName, 3, m.Migrate2to3); err != nil {
panic(fmt.Errorf("failed to register migration of %s to v3: %w", types.ModuleName, err))
}
} }
// RegisterInvariants registers the invariants of the module. If an invariant deviates from its predicted value, the InvariantRegistry triggers appropriate logic (most often the chain will be halted) // RegisterInvariants registers the invariants of the module. If an invariant deviates from its predicted value, the InvariantRegistry triggers appropriate logic (most often the chain will be halted)

View File

@ -17,7 +17,7 @@ func NewParams(mintAddress string, tokenDenom string, stagedDenom string,
claimDenom string, reissuanceAsset string, reissuanceEpochs int64, popEpochs int64, claimDenom string, reissuanceAsset string, reissuanceEpochs int64, popEpochs int64,
distributionOffset int64, distributionAddressEarlyInv string, distributionAddressInvestor string, distributionOffset int64, distributionAddressEarlyInv string, distributionAddressInvestor string,
distributionAddressStrategic string, distributionAddressDao string, distributionAddressPop string, distributionAddressStrategic string, distributionAddressDao string, distributionAddressPop string,
mqttResponseTimeout int64, claimAddress string, txGasLimit uint64) Params { mqttResponseTimeout int64, claimAddress string, txGasLimit uint64, validatorPoPReward uint64) Params {
return Params{ return Params{
MintAddress: mintAddress, MintAddress: mintAddress,
TokenDenom: tokenDenom, TokenDenom: tokenDenom,
@ -42,6 +42,7 @@ func NewParams(mintAddress string, tokenDenom string, stagedDenom string,
MqttResponseTimeout: mqttResponseTimeout, MqttResponseTimeout: mqttResponseTimeout,
ClaimAddress: claimAddress, ClaimAddress: claimAddress,
TxGasLimit: txGasLimit, TxGasLimit: txGasLimit,
ValidatorPopReward: validatorPoPReward,
} }
} }
@ -63,7 +64,9 @@ func DefaultParams() Params {
"vjTvXCFSReRsZ7grdsAreRR12KuKpDw8idueQJK9Yh1BYS7ggAqgvCxCgwh13KGK6M52y37HUmvr4GdD", "vjTvXCFSReRsZ7grdsAreRR12KuKpDw8idueQJK9Yh1BYS7ggAqgvCxCgwh13KGK6M52y37HUmvr4GdD",
2000, 2000,
"plmnt1m5apfematgm7uueazhk482026ert95x2l2dx78", "plmnt1m5apfematgm7uueazhk482026ert95x2l2dx78",
200000) 200000,
1,
)
} }
// ParamSetPairs get the params.ParamSet // ParamSetPairs get the params.ParamSet

View File

@ -41,6 +41,7 @@ type Params struct {
MqttResponseTimeout int64 `protobuf:"varint,14,opt,name=mqtt_response_timeout,json=mqttResponseTimeout,proto3" json:"mqtt_response_timeout,omitempty"` MqttResponseTimeout int64 `protobuf:"varint,14,opt,name=mqtt_response_timeout,json=mqttResponseTimeout,proto3" json:"mqtt_response_timeout,omitempty"`
ClaimAddress string `protobuf:"bytes,15,opt,name=claim_address,json=claimAddress,proto3" json:"claim_address,omitempty"` ClaimAddress string `protobuf:"bytes,15,opt,name=claim_address,json=claimAddress,proto3" json:"claim_address,omitempty"`
TxGasLimit uint64 `protobuf:"varint,16,opt,name=tx_gas_limit,json=txGasLimit,proto3" json:"tx_gas_limit,omitempty"` TxGasLimit uint64 `protobuf:"varint,16,opt,name=tx_gas_limit,json=txGasLimit,proto3" json:"tx_gas_limit,omitempty"`
ValidatorPopReward uint64 `protobuf:"varint,17,opt,name=validator_pop_reward,json=validatorPopReward,proto3" json:"validator_pop_reward,omitempty"`
} }
func (m *Params) Reset() { *m = Params{} } func (m *Params) Reset() { *m = Params{} }
@ -187,6 +188,13 @@ func (m *Params) GetTxGasLimit() uint64 {
return 0 return 0
} }
func (m *Params) GetValidatorPopReward() uint64 {
if m != nil {
return m.ValidatorPopReward
}
return 0
}
func init() { func init() {
proto.RegisterType((*Params)(nil), "planetmintgo.dao.Params") proto.RegisterType((*Params)(nil), "planetmintgo.dao.Params")
} }
@ -194,38 +202,40 @@ func init() {
func init() { proto.RegisterFile("planetmintgo/dao/params.proto", fileDescriptor_a58575036b3ad531) } func init() { proto.RegisterFile("planetmintgo/dao/params.proto", fileDescriptor_a58575036b3ad531) }
var fileDescriptor_a58575036b3ad531 = []byte{ var fileDescriptor_a58575036b3ad531 = []byte{
// 493 bytes of a gzipped FileDescriptorProto // 521 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0xb1, 0x6f, 0x13, 0x31, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0xc1, 0x6e, 0x13, 0x3d,
0x14, 0xc6, 0x73, 0x34, 0x0d, 0xc4, 0x49, 0x69, 0x70, 0x01, 0x59, 0x40, 0x2e, 0x01, 0x96, 0x20, 0x14, 0x85, 0x33, 0x7f, 0xf3, 0x07, 0xe2, 0xa4, 0x34, 0x75, 0x0b, 0xb2, 0x80, 0x4c, 0x02, 0x6c,
0x44, 0x4e, 0x82, 0x05, 0xb1, 0xb5, 0xa4, 0x42, 0x91, 0x90, 0xa8, 0x02, 0x13, 0x8b, 0xe5, 0xdc, 0x82, 0x10, 0x19, 0x04, 0x1b, 0xc4, 0xae, 0x25, 0x15, 0x8a, 0x84, 0x44, 0x14, 0x58, 0xb1, 0xb1,
0xb9, 0x57, 0x8b, 0x9c, 0x9f, 0x39, 0xbf, 0x44, 0xe9, 0x7f, 0xc1, 0xc8, 0xc8, 0x9f, 0xc3, 0xd8, 0x9c, 0x8c, 0x3b, 0xb5, 0xc8, 0xcc, 0x35, 0xf6, 0x4d, 0x48, 0xdf, 0x82, 0x25, 0x4b, 0x9e, 0x80,
0x91, 0x11, 0x25, 0xff, 0x06, 0x03, 0xb2, 0xef, 0xa2, 0x5e, 0xa5, 0x64, 0xb3, 0xbe, 0xef, 0xf7, 0xe7, 0x60, 0xd9, 0x25, 0x4b, 0x94, 0xbc, 0x08, 0xb2, 0x67, 0x42, 0x07, 0x29, 0xd9, 0x59, 0xe7,
0x7d, 0xb6, 0xac, 0xf7, 0x48, 0xd7, 0xcc, 0x84, 0x96, 0x98, 0x29, 0x8d, 0x29, 0x44, 0x89, 0x80, 0x7c, 0xe7, 0xd8, 0xb2, 0xee, 0x25, 0x6d, 0x3d, 0x13, 0x99, 0xc4, 0x54, 0x65, 0x98, 0x40, 0x14,
0xc8, 0x88, 0x5c, 0x64, 0x76, 0x68, 0x72, 0x40, 0xa0, 0x9d, 0xaa, 0x3d, 0x4c, 0x04, 0x3c, 0xba, 0x0b, 0x88, 0xb4, 0x30, 0x22, 0xb5, 0x7d, 0x6d, 0x00, 0x81, 0xb6, 0xca, 0x76, 0x3f, 0x16, 0x70,
0x9f, 0x42, 0x0a, 0xde, 0x8c, 0xdc, 0xa9, 0xe0, 0x9e, 0xfd, 0xdb, 0x27, 0x8d, 0x33, 0x1f, 0xa4, 0xf7, 0x38, 0x81, 0x04, 0xbc, 0x19, 0xb9, 0x53, 0xce, 0x3d, 0xfc, 0x51, 0x23, 0xb5, 0x91, 0x0f,
0x4f, 0x49, 0xdb, 0xe1, 0x5c, 0x24, 0x49, 0x2e, 0xad, 0x65, 0x41, 0x3f, 0x18, 0x34, 0x27, 0x2d, 0xd2, 0x07, 0xa4, 0xe9, 0x70, 0x2e, 0xe2, 0xd8, 0x48, 0x6b, 0x59, 0xd0, 0x0d, 0x7a, 0xf5, 0x71,
0xa7, 0x1d, 0x17, 0x12, 0xed, 0x91, 0x16, 0xc2, 0x37, 0xa9, 0x79, 0x22, 0x35, 0x64, 0xec, 0x96, 0xc3, 0x69, 0x27, 0xb9, 0x44, 0x3b, 0xa4, 0x81, 0xf0, 0x49, 0x66, 0x3c, 0x96, 0x19, 0xa4, 0xec,
0x27, 0x88, 0x97, 0x46, 0x4e, 0x71, 0x1d, 0x16, 0x45, 0x2a, 0x93, 0x92, 0xd8, 0x2b, 0x3a, 0x0a, 0x3f, 0x4f, 0x10, 0x2f, 0x0d, 0x9c, 0xe2, 0x3a, 0x2c, 0x8a, 0x44, 0xc6, 0x05, 0xb1, 0x97, 0x77,
0xad, 0x40, 0x7a, 0xa4, 0x15, 0xcf, 0x84, 0xca, 0x4a, 0xa2, 0x5e, 0x74, 0x78, 0xa9, 0x00, 0x5e, 0xe4, 0x5a, 0x8e, 0x74, 0x48, 0x63, 0x3a, 0x13, 0x2a, 0x2d, 0x88, 0x6a, 0xde, 0xe1, 0xa5, 0x1c,
0x90, 0x4e, 0x2e, 0x95, 0xb5, 0x73, 0xa1, 0x63, 0xc9, 0x85, 0xb5, 0x12, 0xd9, 0xbe, 0xa7, 0x0e, 0x78, 0x4c, 0x5a, 0x46, 0x2a, 0x6b, 0xe7, 0x22, 0x9b, 0x4a, 0x2e, 0xac, 0x95, 0xc8, 0xfe, 0xf7,
0xaf, 0xf5, 0x63, 0x27, 0xd3, 0x97, 0xe4, 0x5e, 0x05, 0x95, 0x06, 0xe2, 0x0b, 0xcb, 0x1a, 0xfd, 0xd4, 0xc1, 0xb5, 0x7e, 0xe2, 0x64, 0xfa, 0x84, 0x1c, 0x96, 0x50, 0xa9, 0x61, 0x7a, 0x61, 0x59,
0x60, 0xb0, 0x37, 0xa9, 0x74, 0x9c, 0x7a, 0x9d, 0x76, 0x09, 0x31, 0x60, 0x36, 0xd4, 0x6d, 0x4f, 0xad, 0x1b, 0xf4, 0xf6, 0xc6, 0xa5, 0x8e, 0x33, 0xaf, 0xd3, 0x36, 0x21, 0x1a, 0xf4, 0x86, 0xba,
0x35, 0x0d, 0x98, 0xd2, 0x8e, 0xc8, 0x51, 0xa2, 0x2c, 0xe6, 0x6a, 0x3a, 0x47, 0x05, 0x9a, 0xc3, 0xe1, 0xa9, 0xba, 0x06, 0x5d, 0xd8, 0x11, 0x39, 0x8a, 0x95, 0x45, 0xa3, 0x26, 0x73, 0x54, 0x90,
0xf9, 0xb9, 0xbb, 0xf9, 0x8e, 0xe7, 0x68, 0xd5, 0xfa, 0xe4, 0x1d, 0xfa, 0x9e, 0x84, 0x37, 0x02, 0x71, 0x38, 0x3f, 0x77, 0x37, 0xdf, 0xf4, 0x1c, 0x2d, 0x5b, 0xef, 0xbc, 0x43, 0x5f, 0x93, 0xf0,
0xe5, 0xbf, 0x71, 0x29, 0xf2, 0xd9, 0x25, 0x57, 0x7a, 0xc1, 0x9a, 0xfe, 0xd5, 0x8f, 0xab, 0x54, 0x9f, 0x40, 0xf1, 0x6f, 0x5c, 0x0a, 0x33, 0xbb, 0xe4, 0x2a, 0x5b, 0xb0, 0xba, 0x7f, 0xf5, 0xbd,
0xf9, 0x93, 0xa7, 0x8e, 0x19, 0xeb, 0x05, 0x3d, 0x21, 0xdd, 0xad, 0x25, 0x4a, 0x2f, 0xa4, 0x45, 0x32, 0x55, 0xfc, 0xe4, 0x99, 0x63, 0x86, 0xd9, 0x82, 0x9e, 0x92, 0xf6, 0xd6, 0x12, 0x95, 0x2d,
0xc8, 0x19, 0xd9, 0xd9, 0x31, 0x2e, 0x11, 0x3a, 0xda, 0xf1, 0x10, 0x8b, 0xb9, 0x40, 0x99, 0xaa, 0xa4, 0x45, 0x30, 0x8c, 0xec, 0xec, 0x18, 0x16, 0x08, 0x1d, 0xec, 0x78, 0x88, 0x45, 0x23, 0x50,
0x98, 0xb5, 0x7c, 0xc9, 0x93, 0x2d, 0x25, 0x9f, 0x37, 0x0c, 0x7d, 0x4b, 0xd8, 0xd6, 0x96, 0x44, 0x26, 0x6a, 0xca, 0x1a, 0xbe, 0xe4, 0xfe, 0x96, 0x92, 0xf7, 0x1b, 0x86, 0xbe, 0x24, 0x6c, 0x6b,
0x00, 0x6b, 0xfb, 0xfc, 0xc3, 0x2d, 0xf9, 0x91, 0x80, 0x9d, 0x49, 0x03, 0x86, 0x1d, 0xec, 0x4c, 0x4b, 0x2c, 0x80, 0x35, 0x7d, 0xfe, 0xce, 0x96, 0xfc, 0x40, 0xc0, 0xce, 0xa4, 0x06, 0xcd, 0xf6,
0x9e, 0x81, 0xa1, 0xaf, 0xc9, 0x83, 0xec, 0x3b, 0x22, 0xcf, 0xa5, 0x35, 0xa0, 0xad, 0xe4, 0xa8, 0x77, 0x26, 0x47, 0xa0, 0xe9, 0x73, 0x72, 0x3b, 0xfd, 0x8c, 0xc8, 0x8d, 0xb4, 0x1a, 0x32, 0x2b,
0x32, 0x09, 0x73, 0x64, 0x77, 0xfd, 0xaf, 0x1f, 0x39, 0x73, 0x52, 0x7a, 0x5f, 0x0a, 0x8b, 0x3e, 0x39, 0xaa, 0x54, 0xc2, 0x1c, 0xd9, 0x2d, 0xff, 0xeb, 0x47, 0xce, 0x1c, 0x17, 0xde, 0x87, 0xdc,
0x27, 0x07, 0xc5, 0xfc, 0x6c, 0xe6, 0xf4, 0xd0, 0x5f, 0xd1, 0xf6, 0xe2, 0x66, 0x50, 0xfb, 0xa4, 0xa2, 0x8f, 0xc8, 0x7e, 0x3e, 0x3f, 0x9b, 0x39, 0x3d, 0xf0, 0x57, 0x34, 0xbd, 0xb8, 0x19, 0xd4,
0x8d, 0x4b, 0x9e, 0x0a, 0xcb, 0x67, 0x2a, 0x53, 0xc8, 0x3a, 0xfd, 0x60, 0x50, 0x9f, 0x10, 0x5c, 0x2e, 0x69, 0xe2, 0x92, 0x27, 0xc2, 0xf2, 0x99, 0x4a, 0x15, 0xb2, 0x56, 0x37, 0xe8, 0x55, 0xc7,
0x7e, 0x10, 0xf6, 0xa3, 0x53, 0xde, 0xd5, 0x7f, 0xfe, 0xea, 0xd5, 0x4e, 0xc6, 0xbf, 0x57, 0x61, 0x04, 0x97, 0x6f, 0x84, 0x7d, 0xeb, 0x14, 0xfa, 0x8c, 0x1c, 0x2f, 0xc4, 0x4c, 0xc5, 0x02, 0xc1,
0x70, 0xb5, 0x0a, 0x83, 0xbf, 0xab, 0x30, 0xf8, 0xb1, 0x0e, 0x6b, 0x57, 0xeb, 0xb0, 0xf6, 0x67, 0xb8, 0x97, 0x72, 0x23, 0xbf, 0x08, 0x13, 0xb3, 0x43, 0x4f, 0xd2, 0xbf, 0xde, 0x08, 0xf4, 0xd8,
0x1d, 0xd6, 0xbe, 0x46, 0xa9, 0xc2, 0x8b, 0xf9, 0x74, 0x18, 0x43, 0x16, 0x5d, 0xef, 0x52, 0xe5, 0x3b, 0xaf, 0xaa, 0xdf, 0xbe, 0x77, 0x2a, 0xa7, 0xc3, 0x9f, 0xab, 0x30, 0xb8, 0x5a, 0x85, 0xc1,
0xf8, 0x2a, 0x85, 0x68, 0xe9, 0x17, 0x0f, 0x2f, 0x8d, 0xb4, 0xd3, 0x86, 0x5f, 0xa8, 0x37, 0xff, 0xef, 0x55, 0x18, 0x7c, 0x5d, 0x87, 0x95, 0xab, 0x75, 0x58, 0xf9, 0xb5, 0x0e, 0x2b, 0x1f, 0xa3,
0x03, 0x00, 0x00, 0xff, 0xff, 0x05, 0xd2, 0x9a, 0xb9, 0x99, 0x03, 0x00, 0x00, 0x44, 0xe1, 0xc5, 0x7c, 0xd2, 0x9f, 0x42, 0x1a, 0x5d, 0x6f, 0x5f, 0xe9, 0xf8, 0x34, 0x81, 0x68,
0xe9, 0x57, 0x15, 0x2f, 0xb5, 0xb4, 0x93, 0x9a, 0x5f, 0xc1, 0x17, 0x7f, 0x02, 0x00, 0x00, 0xff,
0xff, 0x67, 0x5d, 0xde, 0x8f, 0xcb, 0x03, 0x00, 0x00,
} }
func (m *Params) Marshal() (dAtA []byte, err error) { func (m *Params) Marshal() (dAtA []byte, err error) {
@ -248,6 +258,13 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i _ = i
var l int var l int
_ = l _ = l
if m.ValidatorPopReward != 0 {
i = encodeVarintParams(dAtA, i, uint64(m.ValidatorPopReward))
i--
dAtA[i] = 0x1
i--
dAtA[i] = 0x88
}
if m.TxGasLimit != 0 { if m.TxGasLimit != 0 {
i = encodeVarintParams(dAtA, i, uint64(m.TxGasLimit)) i = encodeVarintParams(dAtA, i, uint64(m.TxGasLimit))
i-- i--
@ -431,6 +448,9 @@ func (m *Params) Size() (n int) {
if m.TxGasLimit != 0 { if m.TxGasLimit != 0 {
n += 2 + sovParams(uint64(m.TxGasLimit)) n += 2 + sovParams(uint64(m.TxGasLimit))
} }
if m.ValidatorPopReward != 0 {
n += 2 + sovParams(uint64(m.ValidatorPopReward))
}
return n return n
} }
@ -916,6 +936,25 @@ func (m *Params) Unmarshal(dAtA []byte) error {
break break
} }
} }
case 17:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field ValidatorPopReward", wireType)
}
m.ValidatorPopReward = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowParams
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.ValidatorPopReward |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
default: default:
iNdEx = preIndex iNdEx = preIndex
skippy, err := skipParams(dAtA[iNdEx:]) skippy, err := skipParams(dAtA[iNdEx:])