refactor(x/distribution)!: remove PreviousProposer and return early if there are no fees to distribute (#20735)

This commit is contained in:
Facundo Medica 2024-07-04 14:50:15 +02:00 committed by GitHub
parent b63d8404e4
commit 01312dfd5d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 149 additions and 343 deletions

View File

@ -4123,7 +4123,6 @@ var (
fd_GenesisState_params protoreflect.FieldDescriptor
fd_GenesisState_fee_pool protoreflect.FieldDescriptor
fd_GenesisState_delegator_withdraw_infos protoreflect.FieldDescriptor
fd_GenesisState_previous_proposer protoreflect.FieldDescriptor
fd_GenesisState_outstanding_rewards protoreflect.FieldDescriptor
fd_GenesisState_validator_accumulated_commissions protoreflect.FieldDescriptor
fd_GenesisState_validator_historical_rewards protoreflect.FieldDescriptor
@ -4138,7 +4137,6 @@ func init() {
fd_GenesisState_params = md_GenesisState.Fields().ByName("params")
fd_GenesisState_fee_pool = md_GenesisState.Fields().ByName("fee_pool")
fd_GenesisState_delegator_withdraw_infos = md_GenesisState.Fields().ByName("delegator_withdraw_infos")
fd_GenesisState_previous_proposer = md_GenesisState.Fields().ByName("previous_proposer")
fd_GenesisState_outstanding_rewards = md_GenesisState.Fields().ByName("outstanding_rewards")
fd_GenesisState_validator_accumulated_commissions = md_GenesisState.Fields().ByName("validator_accumulated_commissions")
fd_GenesisState_validator_historical_rewards = md_GenesisState.Fields().ByName("validator_historical_rewards")
@ -4230,12 +4228,6 @@ func (x *fastReflection_GenesisState) Range(f func(protoreflect.FieldDescriptor,
return
}
}
if x.PreviousProposer != "" {
value := protoreflect.ValueOfString(x.PreviousProposer)
if !f(fd_GenesisState_previous_proposer, value) {
return
}
}
if len(x.OutstandingRewards) != 0 {
value := protoreflect.ValueOfList(&_GenesisState_5_list{list: &x.OutstandingRewards})
if !f(fd_GenesisState_outstanding_rewards, value) {
@ -4293,8 +4285,6 @@ func (x *fastReflection_GenesisState) Has(fd protoreflect.FieldDescriptor) bool
return x.FeePool != nil
case "cosmos.distribution.v1beta1.GenesisState.delegator_withdraw_infos":
return len(x.DelegatorWithdrawInfos) != 0
case "cosmos.distribution.v1beta1.GenesisState.previous_proposer":
return x.PreviousProposer != ""
case "cosmos.distribution.v1beta1.GenesisState.outstanding_rewards":
return len(x.OutstandingRewards) != 0
case "cosmos.distribution.v1beta1.GenesisState.validator_accumulated_commissions":
@ -4329,8 +4319,6 @@ func (x *fastReflection_GenesisState) Clear(fd protoreflect.FieldDescriptor) {
x.FeePool = nil
case "cosmos.distribution.v1beta1.GenesisState.delegator_withdraw_infos":
x.DelegatorWithdrawInfos = nil
case "cosmos.distribution.v1beta1.GenesisState.previous_proposer":
x.PreviousProposer = ""
case "cosmos.distribution.v1beta1.GenesisState.outstanding_rewards":
x.OutstandingRewards = nil
case "cosmos.distribution.v1beta1.GenesisState.validator_accumulated_commissions":
@ -4371,9 +4359,6 @@ func (x *fastReflection_GenesisState) Get(descriptor protoreflect.FieldDescripto
}
listValue := &_GenesisState_3_list{list: &x.DelegatorWithdrawInfos}
return protoreflect.ValueOfList(listValue)
case "cosmos.distribution.v1beta1.GenesisState.previous_proposer":
value := x.PreviousProposer
return protoreflect.ValueOfString(value)
case "cosmos.distribution.v1beta1.GenesisState.outstanding_rewards":
if len(x.OutstandingRewards) == 0 {
return protoreflect.ValueOfList(&_GenesisState_5_list{})
@ -4438,8 +4423,6 @@ func (x *fastReflection_GenesisState) Set(fd protoreflect.FieldDescriptor, value
lv := value.List()
clv := lv.(*_GenesisState_3_list)
x.DelegatorWithdrawInfos = *clv.list
case "cosmos.distribution.v1beta1.GenesisState.previous_proposer":
x.PreviousProposer = value.Interface().(string)
case "cosmos.distribution.v1beta1.GenesisState.outstanding_rewards":
lv := value.List()
clv := lv.(*_GenesisState_5_list)
@ -4536,8 +4519,6 @@ func (x *fastReflection_GenesisState) Mutable(fd protoreflect.FieldDescriptor) p
}
value := &_GenesisState_10_list{list: &x.ValidatorSlashEvents}
return protoreflect.ValueOfList(value)
case "cosmos.distribution.v1beta1.GenesisState.previous_proposer":
panic(fmt.Errorf("field previous_proposer of message cosmos.distribution.v1beta1.GenesisState is not mutable"))
default:
if fd.IsExtension() {
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.distribution.v1beta1.GenesisState"))
@ -4560,8 +4541,6 @@ func (x *fastReflection_GenesisState) NewField(fd protoreflect.FieldDescriptor)
case "cosmos.distribution.v1beta1.GenesisState.delegator_withdraw_infos":
list := []*DelegatorWithdrawInfo{}
return protoreflect.ValueOfList(&_GenesisState_3_list{list: &list})
case "cosmos.distribution.v1beta1.GenesisState.previous_proposer":
return protoreflect.ValueOfString("")
case "cosmos.distribution.v1beta1.GenesisState.outstanding_rewards":
list := []*ValidatorOutstandingRewardsRecord{}
return protoreflect.ValueOfList(&_GenesisState_5_list{list: &list})
@ -4663,10 +4642,6 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods {
n += 1 + l + runtime.Sov(uint64(l))
}
}
l = len(x.PreviousProposer)
if l > 0 {
n += 1 + l + runtime.Sov(uint64(l))
}
if len(x.OutstandingRewards) > 0 {
for _, e := range x.OutstandingRewards {
l = options.Size(e)
@ -4828,13 +4803,6 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods {
dAtA[i] = 0x2a
}
}
if len(x.PreviousProposer) > 0 {
i -= len(x.PreviousProposer)
copy(dAtA[i:], x.PreviousProposer)
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PreviousProposer)))
i--
dAtA[i] = 0x22
}
if len(x.DelegatorWithdrawInfos) > 0 {
for iNdEx := len(x.DelegatorWithdrawInfos) - 1; iNdEx >= 0; iNdEx-- {
encoded, err := options.Marshal(x.DelegatorWithdrawInfos[iNdEx])
@ -5034,38 +5002,6 @@ func (x *fastReflection_GenesisState) ProtoMethods() *protoiface.Methods {
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
}
iNdEx = postIndex
case 4:
if wireType != 2 {
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PreviousProposer", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
}
if iNdEx >= l {
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
}
if postIndex > l {
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
}
x.PreviousProposer = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 5:
if wireType != 2 {
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OutstandingRewards", wireType)
@ -5692,8 +5628,6 @@ type GenesisState struct {
FeePool *FeePool `protobuf:"bytes,2,opt,name=fee_pool,json=feePool,proto3" json:"fee_pool,omitempty"`
// fee_pool defines the delegator withdraw infos at genesis.
DelegatorWithdrawInfos []*DelegatorWithdrawInfo `protobuf:"bytes,3,rep,name=delegator_withdraw_infos,json=delegatorWithdrawInfos,proto3" json:"delegator_withdraw_infos,omitempty"`
// fee_pool defines the previous proposer at genesis.
PreviousProposer string `protobuf:"bytes,4,opt,name=previous_proposer,json=previousProposer,proto3" json:"previous_proposer,omitempty"`
// fee_pool defines the outstanding rewards of all validators at genesis.
OutstandingRewards []*ValidatorOutstandingRewardsRecord `protobuf:"bytes,5,rep,name=outstanding_rewards,json=outstandingRewards,proto3" json:"outstanding_rewards,omitempty"`
// fee_pool defines the accumulated commissions of all validators at genesis.
@ -5749,13 +5683,6 @@ func (x *GenesisState) GetDelegatorWithdrawInfos() []*DelegatorWithdrawInfo {
return nil
}
func (x *GenesisState) GetPreviousProposer() string {
if x != nil {
return x.PreviousProposer
}
return ""
}
func (x *GenesisState) GetOutstandingRewards() []*ValidatorOutstandingRewardsRecord {
if x != nil {
return x.OutstandingRewards
@ -5921,7 +5848,7 @@ var file_cosmos_distribution_v1beta1_genesis_proto_rawDesc = []byte{
0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x45, 0x76,
0x65, 0x6e, 0x74, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x13,
0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x45, 0x76,
0x65, 0x6e, 0x74, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x8c, 0x09,
0x65, 0x6e, 0x74, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xcb, 0x08,
0x0a, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x46,
0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75,
@ -5939,79 +5866,75 @@ var file_cosmos_distribution_v1beta1_genesis_proto_rawDesc = []byte{
0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x69, 0x74, 0x68,
0x64, 0x72, 0x61, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7,
0xb0, 0x2a, 0x01, 0x52, 0x16, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x57, 0x69,
0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x70,
0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x72,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d,
0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x52, 0x10, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73,
0x65, 0x72, 0x12, 0x7a, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e,
0x67, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62,
0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x61,
0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69,
0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42,
0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x12, 0x6f, 0x75, 0x74, 0x73,
0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x98,
0x01, 0x0a, 0x21, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x63,
0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x6f, 0x73,
0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
0x6f, 0x72, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6d,
0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x09, 0xc8,
0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x1f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f,
0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x8a, 0x01, 0x0a, 0x1c, 0x76, 0x61,
0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63,
0x61, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x3d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69,
0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56,
0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63,
0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42,
0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x1a, 0x76, 0x61, 0x6c, 0x69,
0x64, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x52,
0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x76, 0x61, 0x6c, 0x69, 0x64,
0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x77,
0x61, 0x72, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x6f, 0x73,
0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e,
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
0x6f, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73,
0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x7a, 0x0a, 0x13, 0x6f,
0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72,
0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
0x4f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72,
0x64, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7,
0xb0, 0x2a, 0x01, 0x52, 0x12, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67,
0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x98, 0x01, 0x0a, 0x21, 0x76, 0x61, 0x6c, 0x69,
0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65,
0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73,
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x75, 0x6d,
0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a,
0x01, 0x52, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x75, 0x72, 0x72,
0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x7d, 0x0a, 0x18, 0x64, 0x65,
0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67,
0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63,
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67,
0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a,
0x01, 0x52, 0x16, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x72,
0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x77, 0x0a, 0x16, 0x76, 0x61, 0x6c,
0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x5f, 0x65, 0x76, 0x65,
0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x6f, 0x73, 0x6d,
0x01, 0x52, 0x1f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x75,
0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0x8a, 0x01, 0x0a, 0x1c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61,
0x72, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x6f, 0x73, 0x6d,
0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f,
0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72,
0x64, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x14, 0x76, 0x61,
0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x45, 0x76, 0x65, 0x6e,
0x74, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x42, 0x83, 0x02, 0x0a,
0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74,
0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72,
0x64, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7,
0xb0, 0x2a, 0x01, 0x52, 0x1a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x69,
0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12,
0x81, 0x01, 0x0a, 0x19, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x75,
0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x08, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73,
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65,
0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42,
0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x17, 0x76, 0x61, 0x6c, 0x69,
0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61,
0x72, 0x64, 0x73, 0x12, 0x7d, 0x0a, 0x18, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72,
0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18,
0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64,
0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61,
0x72, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42,
0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x16, 0x64, 0x65, 0x6c, 0x65,
0x67, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66,
0x6f, 0x73, 0x12, 0x77, 0x0a, 0x16, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f,
0x73, 0x6c, 0x61, 0x73, 0x68, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74,
0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
0x42, 0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
0x5a, 0x40, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61,
0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69,
0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x64,
0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f,
0x73, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56,
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c,
0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62,
0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x27, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69,
0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74,
0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02,
0x1d, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62,
0x75, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa8, 0xe2,
0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x45,
0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00,
0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x14, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
0x53, 0x6c, 0x61, 0x73, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f,
0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x42, 0x83, 0x02, 0x0a, 0x1f,
0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72,
0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42,
0x0c, 0x47, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
0x40, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62,
0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x64, 0x69,
0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0xa2, 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31,
0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44,
0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65,
0x74, 0x61, 0x31, 0xe2, 0x02, 0x27, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73,
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61,
0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d,
0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75,
0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa8, 0xe2, 0x1e,
0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -216,7 +216,6 @@ func TestMsgWithdrawDelegatorReward(t *testing.T) {
require.NoError(t, f.distrKeeper.Params.Set(f.sdkCtx, distrtypes.DefaultParams()))
delAddr := sdk.AccAddress(PKS[1].Address())
valConsAddr := sdk.ConsAddress(valConsPk0.Address())
valCommission := sdk.DecCoins{
sdk.NewDecCoinFromDec("mytoken", math.LegacyNewDec(5).Quo(math.LegacyNewDec(4))),
@ -325,9 +324,6 @@ func TestMsgWithdrawDelegatorReward(t *testing.T) {
}
height := f.app.LastBlockHeight()
_, err = f.distrKeeper.PreviousProposer.Get(f.sdkCtx)
assert.ErrorIs(t, err, collections.ErrNotFound)
for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
@ -358,10 +354,6 @@ func TestMsgWithdrawDelegatorReward(t *testing.T) {
assert.Assert(t, initBalance.IsAllLTE(curBalance))
}
prevProposerConsAddr, err := f.distrKeeper.PreviousProposer.Get(f.sdkCtx)
assert.NilError(t, err)
assert.Assert(t, prevProposerConsAddr.Empty() == false)
assert.DeepEqual(t, prevProposerConsAddr, valConsAddr)
var previousTotalPower int64
for _, vote := range f.sdkCtx.CometInfo().LastCommit.Votes {
previousTotalPower += vote.Validator.Power

View File

@ -66,6 +66,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
### State Machine Breaking
* [#20735](https://github.com/cosmos/cosmos-sdk/pull/20735) Remove PreviousProposer from the state machine.
* [#17657](https://github.com/cosmos/cosmos-sdk/pull/17657) Migrate community pool funds from `x/distribution` to `x/protocolpool`.
* [#17115](https://github.com/cosmos/cosmos-sdk/pull/17115) Migrate `PreviousProposer` to collections.
* [#18539](https://github.com/cosmos/cosmos-sdk/pull/18539) Introduce `FeePool.DecimalPool` to replace `FeePool.CommunityPool`, which temporarily holds fractional rewards until they are distributed to the community pool every 1000 blocks.

View File

@ -6,7 +6,6 @@ import (
"cosmossdk.io/x/distribution/types"
"github.com/cosmos/cosmos-sdk/telemetry"
sdk "github.com/cosmos/cosmos-sdk/types"
)
// BeginBlocker sets the proposer for determining distribution during endblock
@ -38,7 +37,5 @@ func (k Keeper) BeginBlocker(ctx context.Context) error {
}
}
// record the proposer for when we payout on the next block
consAddr := sdk.ConsAddress(ci.ProposerAddress)
return k.PreviousProposer.Set(ctx, consAddr)
return nil
}

View File

@ -21,6 +21,10 @@ func (k Keeper) AllocateTokens(ctx context.Context, totalPreviousPower int64, bo
// (and distributed to the previous proposer)
feeCollector := k.authKeeper.GetModuleAccount(ctx, k.feeCollectorName)
feesCollectedInt := k.bankKeeper.GetAllBalances(ctx, feeCollector.GetAddress())
// return early if no fees to distribute
if feesCollectedInt.Empty() {
return nil
}
feesCollected := sdk.NewDecCoinsFromCoins(feesCollectedInt...)
// transfer collected fees to the distribution module account

View File

@ -37,19 +37,6 @@ func (k Keeper) InitGenesis(ctx context.Context, data types.GenesisState) error
}
}
var previousProposer sdk.ConsAddress
if data.PreviousProposer != "" {
var err error
previousProposer, err = k.stakingKeeper.ConsensusAddressCodec().StringToBytes(data.PreviousProposer)
if err != nil {
return err
}
}
if err := k.PreviousProposer.Set(ctx, previousProposer); err != nil {
return err
}
for _, rew := range data.OutstandingRewards {
valAddr, err := k.stakingKeeper.ValidatorAddressCodec().StringToBytes(rew.ValidatorAddress)
if err != nil {
@ -177,11 +164,6 @@ func (k Keeper) ExportGenesis(ctx context.Context) (*types.GenesisState, error)
return nil, err
}
pp, err := k.PreviousProposer.Get(ctx)
if err != nil {
return nil, err
}
outstanding := make([]types.ValidatorOutstandingRewardsRecord, 0)
err = k.ValidatorOutstandingRewards.Walk(ctx, nil, func(addr sdk.ValAddress, rewards types.ValidatorOutstandingRewards) (stop bool, err error) {
@ -303,9 +285,5 @@ func (k Keeper) ExportGenesis(ctx context.Context) (*types.GenesisState, error)
return nil, err
}
ppAddr, err := k.stakingKeeper.ConsensusAddressCodec().BytesToString(pp)
if err != nil {
return nil, err
}
return types.NewGenesisState(params, feePool, dwi, ppAddr, outstanding, acc, his, cur, dels, slashes), nil
return types.NewGenesisState(params, feePool, dwi, outstanding, acc, his, cur, dels, slashes), nil
}

View File

@ -51,7 +51,6 @@ type Keeper struct {
ValidatorOutstandingRewards collections.Map[sdk.ValAddress, types.ValidatorOutstandingRewards]
// ValidatorHistoricalRewards key: valAddr+period | value: ValidatorHistoricalRewards
ValidatorHistoricalRewards collections.Map[collections.Pair[sdk.ValAddress, uint64], types.ValidatorHistoricalRewards]
PreviousProposer collections.Item[sdk.ConsAddress]
// ValidatorSlashEvents key: valAddr+height+period | value: ValidatorSlashEvent
ValidatorSlashEvents collections.Map[collections.Triple[sdk.ValAddress, uint64, uint64], types.ValidatorSlashEvent]
@ -130,7 +129,6 @@ func NewKeeper(
collections.PairKeyCodec(sdk.LengthPrefixedAddressKey(sdk.ValAddressKey), sdk.LEUint64Key), //nolint: staticcheck // sdk.LengthPrefixedAddressKey is needed to retain state compatibility
codec.CollValue[types.ValidatorHistoricalRewards](cdc),
),
PreviousProposer: collections.NewItem(sb, types.ProposerKey, "previous_proposer", collcodec.KeyToValueCodec(sdk.ConsAddressKey)),
ValidatorSlashEvents: collections.NewMap(
sb,
types.ValidatorSlashEventPrefix,

View File

@ -6,8 +6,6 @@ import (
gogotypes "github.com/cosmos/gogoproto/types"
"cosmossdk.io/collections"
collcodec "cosmossdk.io/collections/codec"
"cosmossdk.io/core/appmodule"
"cosmossdk.io/core/store"
@ -15,37 +13,12 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
)
var (
OldProposerKey = []byte{0x01}
NewProposerKey = collections.NewPrefix(1)
)
var OldProposerKey = []byte{0x01}
// MigrateStore removes the last proposer from store.
func MigrateStore(ctx context.Context, env appmodule.Environment, cdc codec.BinaryCodec) error {
store := env.KVStoreService.OpenKVStore(ctx)
bz, err := store.Get(OldProposerKey)
if err != nil {
return err
}
if bz == nil {
// previous proposer not set, nothing to do
return nil
}
addrValue := gogotypes.BytesValue{}
err = cdc.Unmarshal(bz, &addrValue)
if err != nil {
return err
}
sb := collections.NewSchemaBuilder(env.KVStoreService)
prevProposer := collections.NewItem(sb, NewProposerKey, "previous_proposer", collcodec.KeyToValueCodec(sdk.ConsAddressKey))
_, err = sb.Build()
if err != nil {
return err
}
return prevProposer.Set(ctx, addrValue.GetValue())
return store.Delete(OldProposerKey)
}
// GetPreviousProposerConsAddr returns the proposer consensus address for the

View File

@ -5,8 +5,6 @@ import (
"github.com/stretchr/testify/require"
"cosmossdk.io/collections"
collcodec "cosmossdk.io/collections/codec"
"cosmossdk.io/core/log"
storetypes "cosmossdk.io/store/types"
"cosmossdk.io/x/distribution"
@ -32,6 +30,7 @@ func TestMigration(t *testing.T) {
addr1 := secp256k1.GenPrivKey().PubKey().Address()
consAddr1 := sdk.ConsAddress(addr1)
// Set and check the previous proposer
err := v4.SetPreviousProposerConsAddr(ctx, storeService, cdc, consAddr1)
require.NoError(t, err)
@ -42,13 +41,7 @@ func TestMigration(t *testing.T) {
err = v4.MigrateStore(ctx, env, cdc)
require.NoError(t, err)
sb := collections.NewSchemaBuilder(storeService)
prevProposer := collections.NewItem(sb, v4.NewProposerKey, "previous_proposer", collcodec.KeyToValueCodec(sdk.ConsAddressKey))
_, err = sb.Build()
require.NoError(t, err)
newAddr, err := prevProposer.Get(ctx)
require.NoError(t, err)
require.Equal(t, consAddr1, newAddr)
// Check that the previous proposer has been removed
_, err = v4.GetPreviousProposerConsAddr(ctx, storeService, cdc)
require.ErrorContains(t, err, "previous proposer not set")
}

View File

@ -126,9 +126,6 @@ message GenesisState {
repeated DelegatorWithdrawInfo delegator_withdraw_infos = 3
[(gogoproto.nullable) = false, (amino.dont_omitempty) = true];
// fee_pool defines the previous proposer at genesis.
string previous_proposer = 4 [(cosmos_proto.scalar) = "cosmos.AddressString"];
// fee_pool defines the outstanding rewards of all validators at genesis.
repeated ValidatorOutstandingRewardsRecord outstanding_rewards = 5
[(gogoproto.nullable) = false, (amino.dont_omitempty) = true];
@ -152,4 +149,6 @@ message GenesisState {
// fee_pool defines the validator slash events at genesis.
repeated ValidatorSlashEventRecord validator_slash_events = 10
[(gogoproto.nullable) = false, (amino.dont_omitempty) = true];
reserved 4; // previous_proposer
}

View File

@ -22,9 +22,6 @@ func NewDecodeStore(cdc codec.Codec) func(kvA, kvB kv.Pair) string {
cdc.MustUnmarshal(kvB.Value, &feePoolB)
return fmt.Sprintf("%v\n%v", feePoolA, feePoolB)
case bytes.Equal(kvA.Key[:1], types.ProposerKey):
return fmt.Sprintf("%v\n%v", sdk.ConsAddress(kvA.Value), sdk.ConsAddress(kvB.Value))
case bytes.Equal(kvA.Key[:1], types.ValidatorOutstandingRewardsPrefix):
var rewardsA, rewardsB types.ValidatorOutstandingRewards
cdc.MustUnmarshal(kvA.Value, &rewardsA)

View File

@ -19,9 +19,8 @@ import (
)
var (
delPk1 = ed25519.GenPrivKey().PubKey()
valAddr1 = sdk.ValAddress(delPk1.Address())
consAddr1 = sdk.ConsAddress(delPk1.Address().Bytes())
delPk1 = ed25519.GenPrivKey().PubKey()
valAddr1 = sdk.ValAddress(delPk1.Address())
)
func TestDecodeDistributionStore(t *testing.T) {
@ -38,7 +37,6 @@ func TestDecodeDistributionStore(t *testing.T) {
kvPairs := kv.Pairs{
Pairs: []kv.Pair{
{Key: types.FeePoolKey, Value: cdc.MustMarshal(&feePool)},
{Key: types.ProposerKey, Value: consAddr1.Bytes()},
{Key: types.GetValidatorSlashEventKeyPrefix(valAddr1, 13), Value: cdc.MustMarshal(&slashEvent)},
{Key: []byte{0x99}, Value: []byte{0x99}},
},
@ -49,7 +47,6 @@ func TestDecodeDistributionStore(t *testing.T) {
expectedLog string
}{
{"FeePool", fmt.Sprintf("%v\n%v", feePool, feePool)},
{"Proposer", fmt.Sprintf("%v\n%v", consAddr1, consAddr1)},
{"ValidatorSlashEvent", fmt.Sprintf("%v\n%v", slashEvent, slashEvent)},
{"other", ""},
}

View File

@ -1,7 +1,7 @@
package types
func NewGenesisState(
params Params, fp FeePool, dwis []DelegatorWithdrawInfo, pp string, r []ValidatorOutstandingRewardsRecord,
params Params, fp FeePool, dwis []DelegatorWithdrawInfo, r []ValidatorOutstandingRewardsRecord,
acc []ValidatorAccumulatedCommissionRecord, historical []ValidatorHistoricalRewardsRecord,
cur []ValidatorCurrentRewardsRecord, dels []DelegatorStartingInfoRecord, slashes []ValidatorSlashEventRecord,
) *GenesisState {
@ -9,7 +9,6 @@ func NewGenesisState(
Params: params,
FeePool: fp,
DelegatorWithdrawInfos: dwis,
PreviousProposer: pp,
OutstandingRewards: r,
ValidatorAccumulatedCommissions: acc,
ValidatorHistoricalRewards: historical,
@ -25,7 +24,6 @@ func DefaultGenesisState() *GenesisState {
FeePool: InitialFeePool(),
Params: DefaultParams(),
DelegatorWithdrawInfos: []DelegatorWithdrawInfo{},
PreviousProposer: "",
OutstandingRewards: []ValidatorOutstandingRewardsRecord{},
ValidatorAccumulatedCommissions: []ValidatorAccumulatedCommissionRecord{},
ValidatorHistoricalRewards: []ValidatorHistoricalRewardsRecord{},

View File

@ -334,8 +334,6 @@ type GenesisState struct {
FeePool FeePool `protobuf:"bytes,2,opt,name=fee_pool,json=feePool,proto3" json:"fee_pool"`
// fee_pool defines the delegator withdraw infos at genesis.
DelegatorWithdrawInfos []DelegatorWithdrawInfo `protobuf:"bytes,3,rep,name=delegator_withdraw_infos,json=delegatorWithdrawInfos,proto3" json:"delegator_withdraw_infos"`
// fee_pool defines the previous proposer at genesis.
PreviousProposer string `protobuf:"bytes,4,opt,name=previous_proposer,json=previousProposer,proto3" json:"previous_proposer,omitempty"`
// fee_pool defines the outstanding rewards of all validators at genesis.
OutstandingRewards []ValidatorOutstandingRewardsRecord `protobuf:"bytes,5,rep,name=outstanding_rewards,json=outstandingRewards,proto3" json:"outstanding_rewards"`
// fee_pool defines the accumulated commissions of all validators at genesis.
@ -399,66 +397,65 @@ func init() {
}
var fileDescriptor_76eed0f9489db580 = []byte{
// 943 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcf, 0x6f, 0x1b, 0x45,
0x14, 0xf6, 0x3a, 0x25, 0x4d, 0x26, 0x45, 0x34, 0xd3, 0x34, 0x6c, 0xd2, 0x76, 0x9d, 0x94, 0x1e,
0x0a, 0x28, 0x6b, 0x1a, 0x10, 0x54, 0x45, 0x80, 0x1a, 0xb7, 0xe5, 0xc7, 0x01, 0x22, 0x5b, 0x02,
0x81, 0x90, 0xac, 0xf1, 0xee, 0x78, 0x3d, 0xaa, 0xbd, 0x63, 0xcd, 0x8c, 0xd7, 0x80, 0xc4, 0x81,
0x53, 0x11, 0xe2, 0xc0, 0x09, 0x71, 0xac, 0x38, 0x55, 0x48, 0x48, 0x1c, 0xfa, 0x47, 0xf4, 0x58,
0x55, 0x1c, 0x38, 0x01, 0x72, 0x0e, 0x20, 0x8e, 0xfc, 0x05, 0x68, 0x67, 0x66, 0x77, 0xc7, 0xd9,
0xed, 0xd6, 0x0d, 0xf5, 0x25, 0xf1, 0xce, 0xbc, 0xf7, 0xbe, 0xef, 0x7b, 0xef, 0xed, 0x7b, 0x0b,
0x9e, 0xf7, 0x28, 0x1f, 0x50, 0x5e, 0xf7, 0x09, 0x17, 0x8c, 0x74, 0x46, 0x82, 0xd0, 0xb0, 0x1e,
0x5d, 0xea, 0x60, 0x81, 0x2e, 0xd5, 0x03, 0x1c, 0x62, 0x4e, 0xb8, 0x3b, 0x64, 0x54, 0x50, 0x78,
0x46, 0x99, 0xba, 0xa6, 0xa9, 0xab, 0x4d, 0x37, 0xd7, 0x02, 0x1a, 0x50, 0x69, 0x57, 0x8f, 0x7f,
0x29, 0x97, 0x4d, 0x47, 0x47, 0xef, 0x20, 0x8e, 0xd3, 0xa8, 0x1e, 0x25, 0xa1, 0xbe, 0x77, 0xcb,
0xd0, 0xa7, 0x70, 0x94, 0xfd, 0x86, 0xb2, 0x6f, 0x2b, 0x20, 0xcd, 0x47, 0x5d, 0xad, 0xa2, 0x01,
0x09, 0x69, 0x5d, 0xfe, 0x55, 0x47, 0xe7, 0x7f, 0xb6, 0xc0, 0xe9, 0x6b, 0xb8, 0x8f, 0x03, 0x24,
0x28, 0xfb, 0x88, 0x88, 0x9e, 0xcf, 0xd0, 0xf8, 0xdd, 0xb0, 0x4b, 0xe1, 0x75, 0xb0, 0xea, 0x27,
0x17, 0x6d, 0xe4, 0xfb, 0x0c, 0x73, 0x6e, 0x5b, 0x5b, 0xd6, 0xc5, 0xe5, 0x3d, 0xfb, 0xc1, 0xdd,
0x9d, 0x35, 0x1d, 0xf9, 0xaa, 0xba, 0x69, 0x09, 0x46, 0xc2, 0xa0, 0x79, 0x32, 0x75, 0xd1, 0xe7,
0xb0, 0x01, 0x4e, 0x8e, 0x75, 0xd8, 0x34, 0x4a, 0xf5, 0x11, 0x51, 0x9e, 0x49, 0x3c, 0xf4, 0xf1,
0x95, 0xa5, 0xaf, 0x6f, 0xd7, 0x2a, 0x7f, 0xdf, 0xae, 0x55, 0xce, 0xdf, 0xaa, 0x82, 0xed, 0x0f,
0x51, 0x9f, 0xf8, 0x31, 0xc6, 0x07, 0x23, 0xc1, 0x05, 0x0a, 0xfd, 0xd8, 0x07, 0x8f, 0x11, 0xf3,
0x79, 0x13, 0x7b, 0x94, 0xf9, 0xf0, 0x7d, 0xb0, 0x1a, 0x25, 0x46, 0x87, 0xb8, 0x6f, 0x3f, 0xb8,
0xbb, 0x73, 0x4e, 0xa3, 0xa6, 0x81, 0x0e, 0x89, 0x88, 0x0e, 0x9d, 0xc3, 0x5b, 0x16, 0x38, 0x45,
0x33, 0xb0, 0x36, 0x53, 0x68, 0x76, 0x75, 0x6b, 0xe1, 0xe2, 0xca, 0xee, 0x59, 0x5d, 0x22, 0x37,
0x2e, 0x61, 0x52, 0x6d, 0xf7, 0x1a, 0xf6, 0x1a, 0x94, 0x84, 0x7b, 0x97, 0xef, 0xfd, 0x5e, 0xab,
0xfc, 0xf4, 0x47, 0xed, 0xc5, 0x80, 0x88, 0xde, 0xa8, 0xe3, 0x7a, 0x74, 0xa0, 0xab, 0xa2, 0xff,
0xed, 0x70, 0xff, 0x66, 0x5d, 0x7c, 0x3e, 0xc4, 0x3c, 0xf1, 0xe1, 0x77, 0xfe, 0xfa, 0xe5, 0x05,
0xab, 0x09, 0x69, 0x4e, 0x9f, 0x91, 0x89, 0x7f, 0x2c, 0x70, 0x21, 0x13, 0xe0, 0x79, 0xa3, 0xc1,
0xa8, 0x8f, 0x04, 0xf6, 0x1b, 0x74, 0x30, 0x20, 0x9c, 0x13, 0x1a, 0xce, 0x29, 0x19, 0x3d, 0xb0,
0x82, 0x32, 0x38, 0x59, 0xcc, 0x95, 0xdd, 0xd7, 0xdd, 0x92, 0xce, 0x77, 0xcb, 0x79, 0xee, 0x2d,
0xc7, 0x29, 0x52, 0x9a, 0xcd, 0xd0, 0x86, 0xd8, 0x7f, 0x2d, 0xb0, 0x95, 0x06, 0x79, 0x87, 0x70,
0x41, 0x19, 0xf1, 0x50, 0x7f, 0xbe, 0x55, 0x5f, 0x07, 0x8b, 0x43, 0xcc, 0x08, 0x55, 0x1a, 0x8f,
0x35, 0xf5, 0x13, 0xfc, 0x14, 0x1c, 0x4f, 0x1a, 0x60, 0x41, 0x8a, 0x7f, 0x6d, 0x36, 0xf1, 0x39,
0xde, 0xa6, 0xf0, 0x24, 0xa4, 0x21, 0xfa, 0x57, 0x0b, 0x9c, 0x4b, 0x9d, 0x1b, 0x23, 0xc6, 0x70,
0x28, 0xe6, 0xab, 0xf8, 0xe3, 0x4c, 0x99, 0x2a, 0xeb, 0x2b, 0xb3, 0x29, 0x9b, 0x26, 0xf7, 0x08,
0x59, 0x3f, 0x56, 0xc1, 0x99, 0x74, 0xe4, 0xb4, 0x04, 0x62, 0x82, 0x84, 0x41, 0x3c, 0x72, 0xb4,
0xa8, 0x27, 0x34, 0x78, 0x0a, 0x73, 0x53, 0x3d, 0x7a, 0x6e, 0x3a, 0xe0, 0x69, 0xae, 0xc9, 0xb6,
0x49, 0xd8, 0xa5, 0xba, 0xf6, 0xbb, 0xa5, 0x19, 0x2a, 0xd4, 0x69, 0xe6, 0xe7, 0x04, 0x37, 0x2e,
0x8c, 0x24, 0x7d, 0x5f, 0x05, 0x1b, 0x29, 0xb5, 0x56, 0x1f, 0xf1, 0xde, 0xf5, 0x48, 0x66, 0x78,
0x5e, 0x9d, 0xde, 0xc3, 0x24, 0xe8, 0x89, 0xa4, 0xd3, 0xd5, 0x93, 0xf1, 0x06, 0x2c, 0x4c, 0xbd,
0x01, 0x14, 0x9c, 0xce, 0xf0, 0x79, 0xcc, 0xae, 0x8d, 0x63, 0x7a, 0xf6, 0x31, 0x99, 0x93, 0x97,
0x66, 0xeb, 0x9a, 0x4c, 0x96, 0x99, 0x91, 0x53, 0x51, 0xfe, 0xde, 0x48, 0xcc, 0xb7, 0xcb, 0xe0,
0xc4, 0xdb, 0x6a, 0xe7, 0xb6, 0x04, 0x12, 0x18, 0xde, 0x00, 0x8b, 0x43, 0xc4, 0xd0, 0x40, 0x25,
0x60, 0x65, 0xf7, 0xb9, 0x52, 0xf0, 0x7d, 0x69, 0x6a, 0xe2, 0x69, 0x6f, 0xf8, 0x1e, 0x58, 0xea,
0x62, 0xdc, 0x1e, 0x52, 0xda, 0xd7, 0xcd, 0x7f, 0xa1, 0x34, 0xd2, 0x0d, 0x8c, 0xf7, 0x29, 0xed,
0x4f, 0x35, 0x7b, 0x57, 0x9d, 0xc1, 0x31, 0xb0, 0xb3, 0x16, 0x4e, 0xd7, 0x5f, 0xdc, 0x35, 0xf1,
0xc8, 0x58, 0x98, 0xbd, 0x6d, 0xcc, 0x8d, 0x6c, 0x22, 0xad, 0xfb, 0x45, 0x16, 0x3c, 0x7e, 0x77,
0x86, 0x0c, 0x47, 0x84, 0x8e, 0xe4, 0x07, 0xc0, 0x90, 0x72, 0xcc, 0x64, 0x51, 0x4a, 0xdf, 0x9d,
0xc4, 0x65, 0x5f, 0x7b, 0xc0, 0x2f, 0x8a, 0xd7, 0xdd, 0x53, 0x92, 0xfa, 0x9b, 0xb3, 0x55, 0xf7,
0x61, 0xcb, 0xd9, 0x94, 0x51, 0xb0, 0xe1, 0xe0, 0x0f, 0x16, 0xd8, 0x36, 0x9a, 0x3b, 0x5b, 0x07,
0x6d, 0x2f, 0xdd, 0x18, 0xdc, 0x5e, 0x94, 0x54, 0xae, 0xfe, 0x8f, 0xad, 0x93, 0x67, 0x53, 0x8b,
0x4a, 0x1d, 0x38, 0xfc, 0xc6, 0x02, 0x67, 0x33, 0x6a, 0xbd, 0x74, 0x9c, 0xa7, 0x09, 0x3a, 0x2e,
0x59, 0xbd, 0x71, 0xc4, 0x75, 0x90, 0x67, 0xb4, 0x19, 0x3d, 0xd4, 0x18, 0x7e, 0x65, 0x81, 0x8d,
0x8c, 0x8c, 0xa7, 0x26, 0x70, 0xca, 0x64, 0x49, 0x32, 0xb9, 0x72, 0x94, 0xf1, 0x9d, 0xa7, 0xf1,
0x6c, 0x54, 0x6c, 0x09, 0xbf, 0x34, 0xfb, 0x7c, 0x6a, 0x3a, 0x72, 0x7b, 0x59, 0x32, 0xb8, 0xfc,
0xf8, 0xe3, 0x31, 0x8f, 0x9f, 0x75, 0xbb, 0x69, 0xc7, 0xe1, 0x18, 0xac, 0x17, 0x8e, 0x21, 0x6e,
0x03, 0x09, 0xfe, 0xea, 0xe3, 0xce, 0xa1, 0x3c, 0xf4, 0x5a, 0xc1, 0x34, 0x32, 0x96, 0xd9, 0xde,
0x5b, 0x77, 0x26, 0x8e, 0x75, 0x6f, 0xe2, 0x58, 0xf7, 0x27, 0x8e, 0xf5, 0xe7, 0xc4, 0xb1, 0xbe,
0x3b, 0x70, 0x2a, 0xf7, 0x0f, 0x9c, 0xca, 0x6f, 0x07, 0x4e, 0xe5, 0x93, 0x6d, 0x85, 0xcf, 0xfd,
0x9b, 0x2e, 0xa1, 0xf5, 0xcf, 0xa6, 0xbf, 0xe1, 0xe5, 0x27, 0x5f, 0x67, 0x51, 0x7e, 0x87, 0xbf,
0xfc, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x95, 0x53, 0xd9, 0xb1, 0x65, 0x0c, 0x00, 0x00,
// 925 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x41, 0x8f, 0xdb, 0x44,
0x14, 0x8e, 0x93, 0x34, 0xcd, 0x4e, 0x8a, 0xd8, 0x9d, 0x6e, 0x17, 0xef, 0xb6, 0x75, 0x36, 0xa5,
0x87, 0x02, 0x5a, 0x87, 0x06, 0x04, 0x55, 0x11, 0xa0, 0x26, 0x6d, 0x81, 0x1e, 0xa0, 0x4a, 0x24,
0x10, 0x08, 0x29, 0x9a, 0xd8, 0x13, 0x67, 0xd4, 0xc4, 0x13, 0x79, 0x26, 0x0e, 0x20, 0x71, 0xe0,
0x54, 0xc4, 0x89, 0x13, 0xe2, 0x58, 0x71, 0xaa, 0x90, 0x90, 0x38, 0xf4, 0x47, 0x54, 0xe2, 0x52,
0x55, 0x1c, 0x38, 0x01, 0xca, 0x1e, 0x40, 0x1c, 0xf9, 0x05, 0xc8, 0x9e, 0xb1, 0x3d, 0x59, 0xbb,
0xd9, 0xec, 0xd2, 0x5c, 0x76, 0xe3, 0x99, 0xf7, 0xde, 0xf7, 0x7d, 0xef, 0x3d, 0xbf, 0x67, 0xf0,
0x82, 0x45, 0xd9, 0x88, 0xb2, 0xba, 0x4d, 0x18, 0xf7, 0x48, 0x6f, 0xc2, 0x09, 0x75, 0xeb, 0xfe,
0xe5, 0x1e, 0xe6, 0xe8, 0x72, 0xdd, 0xc1, 0x2e, 0x66, 0x84, 0x99, 0x63, 0x8f, 0x72, 0x0a, 0xcf,
0x0a, 0x53, 0x53, 0x35, 0x35, 0xa5, 0xe9, 0xce, 0xa6, 0x43, 0x1d, 0x1a, 0xda, 0xd5, 0x83, 0x5f,
0xc2, 0x65, 0xc7, 0x90, 0xd1, 0x7b, 0x88, 0xe1, 0x38, 0xaa, 0x45, 0x89, 0x2b, 0xef, 0xcd, 0x45,
0xe8, 0x73, 0x38, 0xc2, 0x7e, 0x5b, 0xd8, 0x77, 0x05, 0x90, 0xe4, 0x23, 0xae, 0x36, 0xd0, 0x88,
0xb8, 0xb4, 0x1e, 0xfe, 0x15, 0x47, 0x17, 0x7e, 0xd2, 0xc0, 0x99, 0xeb, 0x78, 0x88, 0x1d, 0xc4,
0xa9, 0xf7, 0x11, 0xe1, 0x03, 0xdb, 0x43, 0xd3, 0xf7, 0xdc, 0x3e, 0x85, 0x37, 0xc0, 0x86, 0x1d,
0x5d, 0x74, 0x91, 0x6d, 0x7b, 0x98, 0x31, 0x5d, 0xdb, 0xd5, 0x2e, 0xad, 0x35, 0xf5, 0xc7, 0x0f,
0xf6, 0x36, 0x65, 0xe4, 0x6b, 0xe2, 0xa6, 0xc3, 0x3d, 0xe2, 0x3a, 0xed, 0xf5, 0xd8, 0x45, 0x9e,
0xc3, 0x16, 0x58, 0x9f, 0xca, 0xb0, 0x71, 0x94, 0xfc, 0x21, 0x51, 0x9e, 0x8d, 0x3c, 0xe4, 0xf1,
0xd5, 0xf2, 0xd7, 0xf7, 0xaa, 0xb9, 0xbf, 0xef, 0x55, 0x73, 0x17, 0xee, 0xe6, 0x41, 0xed, 0x43,
0x34, 0x24, 0x76, 0x80, 0xf1, 0xc1, 0x84, 0x33, 0x8e, 0x5c, 0x3b, 0xf0, 0xc1, 0x53, 0xe4, 0xd9,
0xac, 0x8d, 0x2d, 0xea, 0xd9, 0xf0, 0x7d, 0xb0, 0xe1, 0x47, 0x46, 0x07, 0xb8, 0xd7, 0x1e, 0x3f,
0xd8, 0x3b, 0x2f, 0x51, 0xe3, 0x40, 0x07, 0x44, 0xf8, 0x07, 0xce, 0xe1, 0x5d, 0x0d, 0x9c, 0xa6,
0x09, 0x58, 0xd7, 0x13, 0x68, 0x7a, 0x7e, 0xb7, 0x70, 0xa9, 0xd2, 0x38, 0x27, 0x4b, 0x64, 0x06,
0x25, 0x8c, 0xaa, 0x6d, 0x5e, 0xc7, 0x56, 0x8b, 0x12, 0xb7, 0x79, 0xe5, 0xe1, 0xef, 0xd5, 0xdc,
0x8f, 0x7f, 0x54, 0x5f, 0x72, 0x08, 0x1f, 0x4c, 0x7a, 0xa6, 0x45, 0x47, 0xb2, 0x2a, 0xf2, 0xdf,
0x1e, 0xb3, 0xef, 0xd4, 0xf9, 0xe7, 0x63, 0xcc, 0x22, 0x1f, 0x76, 0xff, 0xaf, 0x9f, 0x5f, 0xd4,
0xda, 0x90, 0xa6, 0xf4, 0x29, 0x99, 0xf8, 0x47, 0x03, 0x17, 0x13, 0x01, 0x96, 0x35, 0x19, 0x4d,
0x86, 0x88, 0x63, 0xbb, 0x45, 0x47, 0x23, 0xc2, 0x18, 0xa1, 0xee, 0x8a, 0x92, 0x31, 0x00, 0x15,
0x94, 0xc0, 0x85, 0xc5, 0xac, 0x34, 0xde, 0x30, 0x17, 0x74, 0xbe, 0xb9, 0x98, 0x67, 0x73, 0x2d,
0x48, 0x91, 0xd0, 0xac, 0x86, 0x56, 0xc4, 0xfe, 0xab, 0x81, 0xdd, 0x38, 0xc8, 0xbb, 0x84, 0x71,
0xea, 0x11, 0x0b, 0x0d, 0x57, 0x5b, 0xf5, 0x2d, 0x50, 0x1a, 0x63, 0x8f, 0x50, 0xa1, 0xb1, 0xd8,
0x96, 0x4f, 0xf0, 0x53, 0x70, 0x32, 0x6a, 0x80, 0x42, 0x28, 0xfe, 0xf5, 0xe5, 0xc4, 0xa7, 0x78,
0xab, 0xc2, 0xa3, 0x90, 0x8a, 0xe8, 0x5f, 0x35, 0x70, 0x3e, 0x76, 0x6e, 0x4d, 0x3c, 0x0f, 0xbb,
0x7c, 0xb5, 0x8a, 0x3f, 0x4e, 0x94, 0x89, 0xb2, 0xbe, 0xba, 0x9c, 0xb2, 0x79, 0x72, 0x87, 0xc8,
0xfa, 0x21, 0x0f, 0xce, 0xc6, 0x23, 0xa7, 0xc3, 0x91, 0xc7, 0x89, 0xeb, 0x04, 0x23, 0x47, 0x8a,
0x7a, 0x4a, 0x83, 0x27, 0x33, 0x37, 0xf9, 0xe3, 0xe7, 0xa6, 0x07, 0x9e, 0x61, 0x92, 0x6c, 0x97,
0xb8, 0x7d, 0x2a, 0x6b, 0xdf, 0x58, 0x98, 0xa1, 0x4c, 0x9d, 0x6a, 0x7e, 0x4e, 0x31, 0xe5, 0x42,
0x49, 0xd2, 0x77, 0x79, 0xb0, 0x1d, 0x53, 0xeb, 0x0c, 0x11, 0x1b, 0xdc, 0xf0, 0xc3, 0x0c, 0xaf,
0xaa, 0xd3, 0x07, 0x98, 0x38, 0x03, 0x1e, 0x75, 0xba, 0x78, 0x52, 0xde, 0x80, 0xc2, 0xdc, 0x1b,
0x40, 0xc1, 0x99, 0x04, 0x9f, 0x05, 0xec, 0xba, 0x38, 0xa0, 0xa7, 0x17, 0xc3, 0x9c, 0xbc, 0xbc,
0x5c, 0xd7, 0x24, 0xb2, 0xd4, 0x8c, 0x9c, 0xf6, 0xd3, 0xf7, 0x4a, 0x62, 0x7e, 0x29, 0x83, 0x53,
0xef, 0x88, 0x9d, 0xdb, 0xe1, 0x88, 0x63, 0x78, 0x13, 0x94, 0xc6, 0xc8, 0x43, 0x23, 0x91, 0x80,
0x4a, 0xe3, 0xf9, 0x85, 0xe0, 0xb7, 0x43, 0x53, 0x15, 0x4f, 0x7a, 0xc3, 0x5b, 0xa0, 0xdc, 0xc7,
0xb8, 0x3b, 0xa6, 0x74, 0x28, 0x9b, 0xff, 0xe2, 0xc2, 0x48, 0x37, 0x31, 0xbe, 0x4d, 0xe9, 0x70,
0xae, 0xd9, 0xfb, 0xe2, 0x0c, 0x4e, 0x81, 0x9e, 0xb4, 0x70, 0xbc, 0xfe, 0x82, 0xae, 0x09, 0x46,
0x46, 0x61, 0xf9, 0xb6, 0x51, 0x37, 0xb2, 0x8a, 0xb4, 0x65, 0x67, 0x59, 0x30, 0xf8, 0x45, 0xf6,
0x9e, 0x3a, 0x11, 0x62, 0xbe, 0xb5, 0x5c, 0x59, 0x9e, 0xb4, 0x55, 0x55, 0xfc, 0x8c, 0xd5, 0x04,
0xbf, 0xd7, 0x40, 0x4d, 0xe9, 0xca, 0x64, 0x8e, 0x77, 0xad, 0x78, 0xd4, 0x33, 0xbd, 0x14, 0x52,
0xb9, 0xf6, 0x3f, 0xd6, 0x45, 0x9a, 0x4d, 0xd5, 0x5f, 0xe8, 0xc0, 0xe0, 0x37, 0x1a, 0x38, 0x97,
0x50, 0x1b, 0xc4, 0x73, 0x38, 0x4e, 0xd0, 0xc9, 0x90, 0xd5, 0x9b, 0xc7, 0x9c, 0xe3, 0x69, 0x46,
0x3b, 0xfe, 0x13, 0x8d, 0xe1, 0x57, 0x1a, 0xd8, 0x4e, 0xc8, 0x58, 0x62, 0x74, 0xc6, 0x4c, 0xca,
0x21, 0x93, 0xab, 0xc7, 0x99, 0xbb, 0x69, 0x1a, 0xcf, 0xf9, 0xd9, 0x96, 0xf0, 0x4b, 0xb5, 0x41,
0xe7, 0xc6, 0x1a, 0xd3, 0xd7, 0x42, 0x06, 0x57, 0x8e, 0x3e, 0xd7, 0xd2, 0xf8, 0x49, 0x9b, 0xaa,
0x76, 0x0c, 0x4e, 0xc1, 0x56, 0xe6, 0xfc, 0x60, 0x3a, 0x08, 0xc1, 0x5f, 0x3b, 0xea, 0x00, 0x49,
0x43, 0x6f, 0x66, 0x8c, 0x11, 0x65, 0x0b, 0xdd, 0x2a, 0x96, 0x8b, 0xeb, 0x27, 0x9a, 0x6f, 0xdf,
0x9f, 0x19, 0xda, 0xc3, 0x99, 0xa1, 0x3d, 0x9a, 0x19, 0xda, 0x9f, 0x33, 0x43, 0xfb, 0x76, 0xdf,
0xc8, 0x3d, 0xda, 0x37, 0x72, 0xbf, 0xed, 0x1b, 0xb9, 0x4f, 0x6a, 0x82, 0x05, 0xb3, 0xef, 0x98,
0x84, 0xd6, 0x3f, 0x9b, 0xff, 0x04, 0x0f, 0xbf, 0xd8, 0x7a, 0xa5, 0xf0, 0x33, 0xfa, 0x95, 0xff,
0x02, 0x00, 0x00, 0xff, 0xff, 0x2a, 0x9c, 0xf4, 0xd9, 0x24, 0x0c, 0x00, 0x00,
}
func (m *DelegatorWithdrawInfo) Marshal() (dAtA []byte, err error) {
@ -868,13 +865,6 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) {
dAtA[i] = 0x2a
}
}
if len(m.PreviousProposer) > 0 {
i -= len(m.PreviousProposer)
copy(dAtA[i:], m.PreviousProposer)
i = encodeVarintGenesis(dAtA, i, uint64(len(m.PreviousProposer)))
i--
dAtA[i] = 0x22
}
if len(m.DelegatorWithdrawInfos) > 0 {
for iNdEx := len(m.DelegatorWithdrawInfos) - 1; iNdEx >= 0; iNdEx-- {
{
@ -1063,10 +1053,6 @@ func (m *GenesisState) Size() (n int) {
n += 1 + l + sovGenesis(uint64(l))
}
}
l = len(m.PreviousProposer)
if l > 0 {
n += 1 + l + sovGenesis(uint64(l))
}
if len(m.OutstandingRewards) > 0 {
for _, e := range m.OutstandingRewards {
l = e.Size()
@ -2135,38 +2121,6 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field PreviousProposer", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenesis
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthGenesis
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthGenesis
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.PreviousProposer = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 5:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field OutstandingRewards", wireType)

View File

@ -33,8 +33,6 @@ const (
//
// - 0x00<proposalID_Bytes>: FeePol
//
// - 0x01: sdk.ConsAddress
//
// - 0x02<valAddrLen (1 Byte)><valAddr_Bytes>: ValidatorOutstandingRewards
//
// - 0x03<accAddrLen (1 Byte)><accAddr_Bytes>: sdk.AccAddress
@ -52,7 +50,6 @@ const (
// - 0x09: Params
var (
FeePoolKey = collections.NewPrefix(0) // key for global distribution state
ProposerKey = collections.NewPrefix(1) // key for the proposer operator address
ValidatorOutstandingRewardsPrefix = collections.NewPrefix(2) // key for outstanding rewards
DelegatorWithdrawAddrPrefix = collections.NewPrefix(3) // key for delegator withdraw address
DelegatorStartingInfoPrefix = collections.NewPrefix(4) // key for delegator starting info
@ -63,6 +60,11 @@ var (
ParamsKey = collections.NewPrefix(9) // key for distribution module params
)
// Reserved prefixes
var (
DeprecatedProposerKey = collections.NewPrefix(1) // key for the proposer operator address
)
// GetValidatorSlashEventAddressHeight creates the height from a validator's slash event key.
func GetValidatorSlashEventAddressHeight(key []byte) (valAddr sdk.ValAddress, height uint64) {
// key is in the format: