diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cf1a62c312a..ddf5372f9e6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -78,6 +78,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (x/bank) [#14894](https://github.com/cosmos/cosmos-sdk/pull/14894) Return a human readable denomination for IBC vouchers when querying bank balances. Added a `ResolveDenom` parameter to `types.QueryAllBalancesRequest` and `--resolve-denom` flag to `GetBalancesCmd()`. * (x/groups) [#14879](https://github.com/cosmos/cosmos-sdk/pull/14879) Add `Query/Groups` query to get all the groups. * (x/genutil,cli) [#15147](https://github.com/cosmos/cosmos-sdk/pull/15147) Add `--initial-height` flag to cli init cmd to provide `genesis.json` with user defined initial block height +* (x/gov) [#15151](https://github.com/cosmos/cosmos-sdk/pull/15151) Add `burn_vote_quorum`, `burn_proposal_deposit_prevote` and `burn_vote_veto` params to allow applications to decide if they would like to burn deposits ### Improvements diff --git a/api/cosmos/gov/v1/gov.pulsar.go b/api/cosmos/gov/v1/gov.pulsar.go index d8bd8449eccc..4b77f83a4a37 100644 --- a/api/cosmos/gov/v1/gov.pulsar.go +++ b/api/cosmos/gov/v1/gov.pulsar.go @@ -5467,19 +5467,22 @@ func (x *_Params_12_list) IsValid() bool { } var ( - md_Params protoreflect.MessageDescriptor - fd_Params_min_deposit protoreflect.FieldDescriptor - fd_Params_max_deposit_period protoreflect.FieldDescriptor - fd_Params_voting_period protoreflect.FieldDescriptor - fd_Params_quorum protoreflect.FieldDescriptor - fd_Params_threshold protoreflect.FieldDescriptor - fd_Params_veto_threshold protoreflect.FieldDescriptor - fd_Params_min_initial_deposit_ratio protoreflect.FieldDescriptor - fd_Params_proposal_cancel_ratio protoreflect.FieldDescriptor - fd_Params_proposal_cancel_dest protoreflect.FieldDescriptor - fd_Params_expedited_voting_period protoreflect.FieldDescriptor - fd_Params_expedited_threshold protoreflect.FieldDescriptor - fd_Params_expedited_min_deposit protoreflect.FieldDescriptor + md_Params protoreflect.MessageDescriptor + fd_Params_min_deposit protoreflect.FieldDescriptor + fd_Params_max_deposit_period protoreflect.FieldDescriptor + fd_Params_voting_period protoreflect.FieldDescriptor + fd_Params_quorum protoreflect.FieldDescriptor + fd_Params_threshold protoreflect.FieldDescriptor + fd_Params_veto_threshold protoreflect.FieldDescriptor + fd_Params_min_initial_deposit_ratio protoreflect.FieldDescriptor + fd_Params_proposal_cancel_ratio protoreflect.FieldDescriptor + fd_Params_proposal_cancel_dest protoreflect.FieldDescriptor + fd_Params_expedited_voting_period protoreflect.FieldDescriptor + fd_Params_expedited_threshold protoreflect.FieldDescriptor + fd_Params_expedited_min_deposit protoreflect.FieldDescriptor + fd_Params_burn_vote_quorum protoreflect.FieldDescriptor + fd_Params_burn_proposal_deposit_prevote protoreflect.FieldDescriptor + fd_Params_burn_vote_veto protoreflect.FieldDescriptor ) func init() { @@ -5497,6 +5500,9 @@ func init() { fd_Params_expedited_voting_period = md_Params.Fields().ByName("expedited_voting_period") fd_Params_expedited_threshold = md_Params.Fields().ByName("expedited_threshold") fd_Params_expedited_min_deposit = md_Params.Fields().ByName("expedited_min_deposit") + fd_Params_burn_vote_quorum = md_Params.Fields().ByName("burn_vote_quorum") + fd_Params_burn_proposal_deposit_prevote = md_Params.Fields().ByName("burn_proposal_deposit_prevote") + fd_Params_burn_vote_veto = md_Params.Fields().ByName("burn_vote_veto") } var _ protoreflect.Message = (*fastReflection_Params)(nil) @@ -5636,6 +5642,24 @@ func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, proto return } } + if x.BurnVoteQuorum != false { + value := protoreflect.ValueOfBool(x.BurnVoteQuorum) + if !f(fd_Params_burn_vote_quorum, value) { + return + } + } + if x.BurnProposalDepositPrevote != false { + value := protoreflect.ValueOfBool(x.BurnProposalDepositPrevote) + if !f(fd_Params_burn_proposal_deposit_prevote, value) { + return + } + } + if x.BurnVoteVeto != false { + value := protoreflect.ValueOfBool(x.BurnVoteVeto) + if !f(fd_Params_burn_vote_veto, value) { + return + } + } } // Has reports whether a field is populated. @@ -5675,6 +5699,12 @@ func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { return x.ExpeditedThreshold != "" case "cosmos.gov.v1.Params.expedited_min_deposit": return len(x.ExpeditedMinDeposit) != 0 + case "cosmos.gov.v1.Params.burn_vote_quorum": + return x.BurnVoteQuorum != false + case "cosmos.gov.v1.Params.burn_proposal_deposit_prevote": + return x.BurnProposalDepositPrevote != false + case "cosmos.gov.v1.Params.burn_vote_veto": + return x.BurnVoteVeto != false default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1.Params")) @@ -5715,6 +5745,12 @@ func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { x.ExpeditedThreshold = "" case "cosmos.gov.v1.Params.expedited_min_deposit": x.ExpeditedMinDeposit = nil + case "cosmos.gov.v1.Params.burn_vote_quorum": + x.BurnVoteQuorum = false + case "cosmos.gov.v1.Params.burn_proposal_deposit_prevote": + x.BurnProposalDepositPrevote = false + case "cosmos.gov.v1.Params.burn_vote_veto": + x.BurnVoteVeto = false default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1.Params")) @@ -5773,6 +5809,15 @@ func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) pro } listValue := &_Params_12_list{list: &x.ExpeditedMinDeposit} return protoreflect.ValueOfList(listValue) + case "cosmos.gov.v1.Params.burn_vote_quorum": + value := x.BurnVoteQuorum + return protoreflect.ValueOfBool(value) + case "cosmos.gov.v1.Params.burn_proposal_deposit_prevote": + value := x.BurnProposalDepositPrevote + return protoreflect.ValueOfBool(value) + case "cosmos.gov.v1.Params.burn_vote_veto": + value := x.BurnVoteVeto + return protoreflect.ValueOfBool(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1.Params")) @@ -5821,6 +5866,12 @@ func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value proto lv := value.List() clv := lv.(*_Params_12_list) x.ExpeditedMinDeposit = *clv.list + case "cosmos.gov.v1.Params.burn_vote_quorum": + x.BurnVoteQuorum = value.Bool() + case "cosmos.gov.v1.Params.burn_proposal_deposit_prevote": + x.BurnProposalDepositPrevote = value.Bool() + case "cosmos.gov.v1.Params.burn_vote_veto": + x.BurnVoteVeto = value.Bool() default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1.Params")) @@ -5882,6 +5933,12 @@ func (x *fastReflection_Params) Mutable(fd protoreflect.FieldDescriptor) protore panic(fmt.Errorf("field proposal_cancel_dest of message cosmos.gov.v1.Params is not mutable")) case "cosmos.gov.v1.Params.expedited_threshold": panic(fmt.Errorf("field expedited_threshold of message cosmos.gov.v1.Params is not mutable")) + case "cosmos.gov.v1.Params.burn_vote_quorum": + panic(fmt.Errorf("field burn_vote_quorum of message cosmos.gov.v1.Params is not mutable")) + case "cosmos.gov.v1.Params.burn_proposal_deposit_prevote": + panic(fmt.Errorf("field burn_proposal_deposit_prevote of message cosmos.gov.v1.Params is not mutable")) + case "cosmos.gov.v1.Params.burn_vote_veto": + panic(fmt.Errorf("field burn_vote_veto of message cosmos.gov.v1.Params is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1.Params")) @@ -5924,6 +5981,12 @@ func (x *fastReflection_Params) NewField(fd protoreflect.FieldDescriptor) protor case "cosmos.gov.v1.Params.expedited_min_deposit": list := []*v1beta1.Coin{} return protoreflect.ValueOfList(&_Params_12_list{list: &list}) + case "cosmos.gov.v1.Params.burn_vote_quorum": + return protoreflect.ValueOfBool(false) + case "cosmos.gov.v1.Params.burn_proposal_deposit_prevote": + return protoreflect.ValueOfBool(false) + case "cosmos.gov.v1.Params.burn_vote_veto": + return protoreflect.ValueOfBool(false) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1.Params")) @@ -6045,6 +6108,15 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { n += 1 + l + runtime.Sov(uint64(l)) } } + if x.BurnVoteQuorum { + n += 2 + } + if x.BurnProposalDepositPrevote { + n += 2 + } + if x.BurnVoteVeto { + n += 2 + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -6074,6 +6146,36 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.BurnVoteVeto { + i-- + if x.BurnVoteVeto { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x78 + } + if x.BurnProposalDepositPrevote { + i-- + if x.BurnProposalDepositPrevote { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x70 + } + if x.BurnVoteQuorum { + i-- + if x.BurnVoteQuorum { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x68 + } if len(x.ExpeditedMinDeposit) > 0 { for iNdEx := len(x.ExpeditedMinDeposit) - 1; iNdEx >= 0; iNdEx-- { encoded, err := options.Marshal(x.ExpeditedMinDeposit[iNdEx]) @@ -6646,6 +6748,66 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex + case 13: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BurnVoteQuorum", wireType) + } + var v int + 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++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.BurnVoteQuorum = bool(v != 0) + case 14: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BurnProposalDepositPrevote", wireType) + } + var v int + 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++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.BurnProposalDepositPrevote = bool(v != 0) + case 15: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BurnVoteVeto", wireType) + } + var v int + 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++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.BurnVoteVeto = bool(v != 0) default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -7413,6 +7575,18 @@ type Params struct { ExpeditedThreshold string `protobuf:"bytes,11,opt,name=expedited_threshold,json=expeditedThreshold,proto3" json:"expedited_threshold,omitempty"` // Minimum expedited deposit for a proposal to enter voting period. ExpeditedMinDeposit []*v1beta1.Coin `protobuf:"bytes,12,rep,name=expedited_min_deposit,json=expeditedMinDeposit,proto3" json:"expedited_min_deposit,omitempty"` + // burn deposits if a proposal does not meet quorum + // + // Since: cosmos-sdk 0.47 + BurnVoteQuorum bool `protobuf:"varint,13,opt,name=burn_vote_quorum,json=burnVoteQuorum,proto3" json:"burn_vote_quorum,omitempty"` + // burn deposits if the proposal does not enter voting period + // + // Since: cosmos-sdk 0.47 + BurnProposalDepositPrevote bool `protobuf:"varint,14,opt,name=burn_proposal_deposit_prevote,json=burnProposalDepositPrevote,proto3" json:"burn_proposal_deposit_prevote,omitempty"` + // burn deposits if quorum with vote type no_veto is met + // + // Since: cosmos-sdk 0.47 + BurnVoteVeto bool `protobuf:"varint,15,opt,name=burn_vote_veto,json=burnVoteVeto,proto3" json:"burn_vote_veto,omitempty"` } func (x *Params) Reset() { @@ -7519,6 +7693,27 @@ func (x *Params) GetExpeditedMinDeposit() []*v1beta1.Coin { return nil } +func (x *Params) GetBurnVoteQuorum() bool { + if x != nil { + return x.BurnVoteQuorum + } + return false +} + +func (x *Params) GetBurnProposalDepositPrevote() bool { + if x != nil { + return x.BurnProposalDepositPrevote + } + return false +} + +func (x *Params) GetBurnVoteVeto() bool { + if x != nil { + return x.BurnVoteVeto + } + return false +} + var File_cosmos_gov_v1_gov_proto protoreflect.FileDescriptor var file_cosmos_gov_v1_gov_proto_rawDesc = []byte{ @@ -7654,7 +7849,7 @@ var file_cosmos_gov_v1_gov_proto_rawDesc = []byte{ 0x64, 0x12, 0x35, 0x0a, 0x0e, 0x76, 0x65, 0x74, 0x6f, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0d, 0x76, 0x65, 0x74, 0x6f, 0x54, - 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x3a, 0x02, 0x18, 0x01, 0x22, 0xc0, 0x06, 0x0a, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x3a, 0x02, 0x18, 0x01, 0x22, 0xd3, 0x07, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, @@ -7706,39 +7901,49 @@ var file_cosmos_gov_v1_gov_proto_rawDesc = []byte{ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x13, 0x65, 0x78, 0x70, 0x65, - 0x64, 0x69, 0x74, 0x65, 0x64, 0x4d, 0x69, 0x6e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x2a, - 0x89, 0x01, 0x0a, 0x0a, 0x56, 0x6f, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, - 0x0a, 0x17, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x56, - 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x59, 0x45, 0x53, 0x10, 0x01, - 0x12, 0x17, 0x0a, 0x13, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x41, 0x42, 0x53, 0x54, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x56, 0x4f, 0x54, - 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x10, 0x03, 0x12, 0x1c, 0x0a, - 0x18, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, - 0x57, 0x49, 0x54, 0x48, 0x5f, 0x56, 0x45, 0x54, 0x4f, 0x10, 0x04, 0x2a, 0xce, 0x01, 0x0a, 0x0e, - 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, - 0x0a, 0x1b, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x44, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x5f, 0x50, 0x45, 0x52, 0x49, 0x4f, - 0x44, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x56, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x45, - 0x52, 0x49, 0x4f, 0x44, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, - 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x45, 0x44, - 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x04, - 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x42, 0x99, 0x01, 0x0a, - 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, - 0x76, 0x31, 0x42, 0x08, 0x47, 0x6f, 0x76, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x24, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x6f, 0x76, 0x2f, 0x76, 0x31, 0x3b, 0x67, - 0x6f, 0x76, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x47, 0x58, 0xaa, 0x02, 0x0d, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x47, 0x6f, 0x76, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0d, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x6f, 0x76, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x19, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x6f, 0x76, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, - 0x3a, 0x47, 0x6f, 0x76, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x69, 0x74, 0x65, 0x64, 0x4d, 0x69, 0x6e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, + 0x28, 0x0a, 0x10, 0x62, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x71, 0x75, 0x6f, + 0x72, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x62, 0x75, 0x72, 0x6e, 0x56, + 0x6f, 0x74, 0x65, 0x51, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x12, 0x41, 0x0a, 0x1d, 0x62, 0x75, 0x72, + 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x1a, 0x62, 0x75, 0x72, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x44, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x50, 0x72, 0x65, 0x76, 0x6f, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, + 0x62, 0x75, 0x72, 0x6e, 0x5f, 0x76, 0x6f, 0x74, 0x65, 0x5f, 0x76, 0x65, 0x74, 0x6f, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x62, 0x75, 0x72, 0x6e, 0x56, 0x6f, 0x74, 0x65, 0x56, 0x65, + 0x74, 0x6f, 0x2a, 0x89, 0x01, 0x0a, 0x0a, 0x56, 0x6f, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, + 0x0a, 0x0f, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x59, 0x45, + 0x53, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x41, 0x42, 0x53, 0x54, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, + 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x10, 0x03, + 0x12, 0x1c, 0x0a, 0x18, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x4e, 0x4f, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x56, 0x45, 0x54, 0x4f, 0x10, 0x04, 0x2a, 0xce, + 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x5f, 0x50, 0x45, + 0x52, 0x49, 0x4f, 0x44, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, + 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x56, 0x4f, 0x54, 0x49, 0x4e, 0x47, + 0x5f, 0x50, 0x45, 0x52, 0x49, 0x4f, 0x44, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x4f, + 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x41, 0x53, + 0x53, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, + 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, + 0x44, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x42, + 0x99, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, + 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x42, 0x08, 0x47, 0x6f, 0x76, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x24, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x6f, 0x76, 0x2f, 0x76, + 0x31, 0x3b, 0x67, 0x6f, 0x76, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x47, 0x58, 0xaa, 0x02, 0x0d, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x47, 0x6f, 0x76, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0d, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x6f, 0x76, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x19, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x6f, 0x76, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0f, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x3a, 0x3a, 0x47, 0x6f, 0x76, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/tx/v1beta1/service.pulsar.go b/api/cosmos/tx/v1beta1/service.pulsar.go index 0a5e51f8e3d5..af2de060d804 100644 --- a/api/cosmos/tx/v1beta1/service.pulsar.go +++ b/api/cosmos/tx/v1beta1/service.pulsar.go @@ -9148,6 +9148,8 @@ type GetTxsEventRequest struct { // events is the list of transaction event type. // Deprecated post v0.47.x: use query instead, which should contain a valid // events query. + // + // Deprecated: Do not use. Events []string `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` // pagination defines a pagination for the request. // Deprecated post v0.46.x: use page and limit instead. @@ -9163,6 +9165,8 @@ type GetTxsEventRequest struct { Limit uint64 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` // query defines the transaction event query that is proxied to Tendermint's // TxSearch RPC method. The query must be valid. + // + // Since Cosmos SDK 0.48 Query string `protobuf:"bytes,6,opt,name=query,proto3" json:"query,omitempty"` } @@ -9186,6 +9190,7 @@ func (*GetTxsEventRequest) Descriptor() ([]byte, []int) { return file_cosmos_tx_v1beta1_service_proto_rawDescGZIP(), []int{0} } +// Deprecated: Do not use. func (x *GetTxsEventRequest) GetEvents() []string { if x != nil { return x.Events @@ -10014,224 +10019,224 @@ var file_cosmos_tx_v1beta1_service_proto_rawDesc = []byte{ 0x1c, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xef, 0x01, 0x0a, 0x12, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf3, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x12, 0x0a, - 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xea, 0x01, - 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x4a, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, + 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x22, 0xea, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x03, 0x74, 0x78, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x03, 0x74, + 0x78, 0x73, 0x12, 0x47, 0x0a, 0x0c, 0x74, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0b, + 0x74, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x65, + 0x0a, 0x12, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, + 0x34, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, + 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x5c, 0x0a, 0x13, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, + 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0b, + 0x74, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x74, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x57, 0x0a, 0x0f, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x03, 0x74, 0x78, 0x73, 0x12, 0x47, - 0x0a, 0x0c, 0x74, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0b, 0x74, 0x78, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x65, 0x0a, 0x12, 0x42, 0x72, - 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x42, 0x02, 0x18, 0x01, 0x52, 0x02, 0x74, + 0x78, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x8a, 0x01, 0x0a, + 0x10, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, + 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x61, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x67, 0x61, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x38, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, + 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x22, 0x0a, 0x0c, 0x47, 0x65, 0x74, + 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x7d, 0x0a, + 0x0d, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, + 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, + 0x78, 0x52, 0x02, 0x74, 0x78, 0x12, 0x45, 0x0a, 0x0b, 0x74, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x0a, 0x74, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x0a, 0x16, + 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x46, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf0, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x27, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x03, 0x74, 0x78, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, + 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, + 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x0f, 0x54, 0x78, 0x44, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, + 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, + 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x39, 0x0a, 0x10, 0x54, 0x78, 0x44, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x02, 0x74, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x02, + 0x74, 0x78, 0x22, 0x38, 0x0a, 0x0f, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x02, 0x74, 0x78, 0x22, 0x2d, 0x0a, 0x10, + 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x6d, - 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x28, 0x0c, 0x52, 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x35, 0x0a, 0x14, 0x54, + 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x5f, 0x6a, 0x73, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x4a, 0x73, + 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x15, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, + 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, + 0x6d, 0x69, 0x6e, 0x6f, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0b, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, 0x39, + 0x0a, 0x14, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x5f, + 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x61, 0x6d, + 0x69, 0x6e, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, 0x36, 0x0a, 0x15, 0x54, 0x78, 0x44, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x4a, 0x73, 0x6f, + 0x6e, 0x2a, 0x48, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x18, 0x0a, 0x14, + 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, + 0x42, 0x59, 0x5f, 0x41, 0x53, 0x43, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x52, 0x44, 0x45, + 0x52, 0x5f, 0x42, 0x59, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x10, 0x02, 0x2a, 0x80, 0x01, 0x0a, 0x0d, + 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, + 0x1a, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, + 0x14, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, + 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x42, + 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x59, + 0x4e, 0x43, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, + 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x03, 0x32, 0xaa, + 0x09, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x08, 0x53, 0x69, + 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, + 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, + 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x71, 0x0a, 0x05, 0x47, 0x65, 0x74, 0x54, 0x78, + 0x12, 0x1f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x20, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x74, 0x78, 0x73, 0x2f, 0x7b, 0x68, 0x61, 0x73, 0x68, 0x7d, 0x12, 0x7f, 0x0a, 0x0b, 0x42, 0x72, + 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x72, - 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, - 0x65, 0x22, 0x5c, 0x0a, 0x13, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x74, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x74, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x57, 0x0a, 0x0f, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x29, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, + 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x73, 0x12, 0x7c, 0x0a, 0x0b, 0x47, + 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x18, 0x12, 0x16, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0f, 0x47, 0x65, + 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x12, 0x29, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x74, 0x78, 0x73, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x7b, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x7d, 0x12, 0x79, 0x0a, 0x08, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, + 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x79, + 0x0a, 0x08, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, + 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x54, 0x78, 0x42, 0x02, 0x18, 0x01, 0x52, 0x02, 0x74, 0x78, 0x12, 0x19, 0x0a, - 0x08, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x10, 0x53, 0x69, 0x6d, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, - 0x08, 0x67, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, - 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x61, 0x73, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x07, 0x67, 0x61, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x22, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x7d, 0x0a, 0x0d, 0x47, 0x65, 0x74, - 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x02, 0x74, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x02, 0x74, - 0x78, 0x12, 0x45, 0x0a, 0x0b, 0x74, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x74, 0x78, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xf0, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, - 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, - 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, + 0x61, 0x31, 0x2e, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, + 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x0d, 0x54, 0x78, + 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x54, 0x78, 0x52, 0x03, 0x74, 0x78, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x49, 0x44, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x2d, 0x0a, - 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x47, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x0f, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x78, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x22, 0x39, 0x0a, 0x10, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x02, 0x74, 0x78, 0x22, 0x38, - 0x0a, 0x0f, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x25, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x54, 0x78, 0x52, 0x02, 0x74, 0x78, 0x22, 0x2d, 0x0a, 0x10, 0x54, 0x78, 0x45, 0x6e, - 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, - 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x35, 0x0a, 0x14, 0x54, 0x78, 0x45, 0x6e, 0x63, - 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x4a, 0x73, 0x6f, 0x6e, 0x22, 0x3a, - 0x0a, 0x15, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6d, 0x69, 0x6e, 0x6f, - 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x61, - 0x6d, 0x69, 0x6e, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, 0x39, 0x0a, 0x14, 0x54, 0x78, - 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x5f, 0x62, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x42, - 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, 0x36, 0x0a, 0x15, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, - 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x4a, 0x73, 0x6f, 0x6e, 0x2a, 0x48, 0x0a, - 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x52, 0x44, 0x45, - 0x52, 0x5f, 0x42, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x59, 0x5f, 0x41, - 0x53, 0x43, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x59, - 0x5f, 0x44, 0x45, 0x53, 0x43, 0x10, 0x02, 0x2a, 0x80, 0x01, 0x0a, 0x0d, 0x42, 0x72, 0x6f, 0x61, - 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x52, 0x4f, - 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x14, 0x42, 0x52, 0x4f, - 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x4c, 0x4f, 0x43, - 0x4b, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x52, 0x4f, 0x41, 0x44, - 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x02, - 0x12, 0x18, 0x0a, 0x14, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, - 0x44, 0x45, 0x5f, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x03, 0x32, 0xaa, 0x09, 0x0a, 0x07, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x08, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x69, 0x6d, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x12, 0x71, 0x0a, 0x05, 0x47, 0x65, 0x74, 0x54, 0x78, 0x12, 0x1f, 0x2e, 0x63, + 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, + 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, + 0x63, 0x6f, 0x64, 0x65, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x12, 0x8e, 0x01, 0x0a, 0x0d, 0x54, + 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x73, 0x2f, - 0x7b, 0x68, 0x61, 0x73, 0x68, 0x7d, 0x12, 0x7f, 0x0a, 0x0b, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x54, 0x78, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, - 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, - 0x16, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x73, 0x12, 0x7c, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x54, 0x78, - 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, - 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2f, 0x74, 0x78, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x73, - 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x7b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, - 0x79, 0x0a, 0x08, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, - 0x19, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x79, 0x0a, 0x08, 0x54, 0x78, - 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x45, 0x6e, 0x63, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, - 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, - 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x0d, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, - 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x45, 0x6e, - 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, - 0x6e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, - 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, - 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x12, 0x8e, 0x01, 0x0a, 0x0d, 0x54, 0x78, 0x44, 0x65, 0x63, - 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x44, - 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, - 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x64, - 0x65, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x42, 0xb9, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x2c, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x78, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, - 0x02, 0x03, 0x43, 0x54, 0x58, 0xaa, 0x02, 0x11, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x54, - 0x78, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x11, 0x43, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x5c, 0x54, 0x78, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x1d, + 0x2e, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, + 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x42, 0xb9, 0x01, 0x0a, 0x15, + 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2c, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, + 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, + 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x78, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x54, 0x58, 0xaa, 0x02, 0x11, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x54, 0x78, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x11, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x54, 0x78, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x54, 0x78, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x31, 0xe2, 0x02, 0x1d, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x54, 0x78, 0x5c, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x54, 0x78, 0x3a, 0x3a, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/cosmos/gov/v1/gov.proto b/proto/cosmos/gov/v1/gov.proto index 87bde2969f37..f3540bf6fe12 100644 --- a/proto/cosmos/gov/v1/gov.proto +++ b/proto/cosmos/gov/v1/gov.proto @@ -243,4 +243,17 @@ message Params { // Minimum expedited deposit for a proposal to enter voting period. repeated cosmos.base.v1beta1.Coin expedited_min_deposit = 12 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; + + // burn deposits if a proposal does not meet quorum + // + // Since: cosmos-sdk 0.47 + bool burn_vote_quorum = 13; + // burn deposits if the proposal does not enter voting period + // + // Since: cosmos-sdk 0.47 + bool burn_proposal_deposit_prevote = 14; + // burn deposits if quorum with vote type no_veto is met + // + // Since: cosmos-sdk 0.47 + bool burn_vote_veto = 15; } diff --git a/tests/e2e/gov/query.go b/tests/e2e/gov/query.go index 9f9aeb2f82f9..062c93fb044b 100644 --- a/tests/e2e/gov/query.go +++ b/tests/e2e/gov/query.go @@ -23,7 +23,7 @@ func (s *E2ETestSuite) TestCmdParams() { { "json output", []string{fmt.Sprintf("--%s=json", flags.FlagOutput)}, - `{"voting_params":{"voting_period":"172800s"},"deposit_params":{"min_deposit":[{"denom":"stake","amount":"10000000"}],"max_deposit_period":"172800s"},"tally_params":{"quorum":"0.334000000000000000","threshold":"0.500000000000000000","veto_threshold":"0.334000000000000000"},"params":{"min_deposit":[{"denom":"stake","amount":"10000000"}],"max_deposit_period":"172800s","voting_period":"172800s","quorum":"0.334000000000000000","threshold":"0.500000000000000000","veto_threshold":"0.334000000000000000","min_initial_deposit_ratio":"0.000000000000000000","proposal_cancel_ratio":"0.500000000000000000","proposal_cancel_dest":"","expedited_voting_period":"86400s","expedited_threshold":"0.667000000000000000","expedited_min_deposit":[{"denom":"stake","amount":"50000000"}]}}`, + `{"voting_params":{"voting_period":"172800s"},"deposit_params":{"min_deposit":[{"denom":"stake","amount":"10000000"}],"max_deposit_period":"172800s"},"tally_params":{"quorum":"0.334000000000000000","threshold":"0.500000000000000000","veto_threshold":"0.334000000000000000"},"params":{"min_deposit":[{"denom":"stake","amount":"10000000"}],"max_deposit_period":"172800s","voting_period":"172800s","quorum":"0.334000000000000000","threshold":"0.500000000000000000","veto_threshold":"0.334000000000000000","min_initial_deposit_ratio":"0.000000000000000000","proposal_cancel_ratio":"0.500000000000000000","proposal_cancel_dest":"","expedited_voting_period":"86400s","expedited_threshold":"0.667000000000000000","expedited_min_deposit":[{"denom":"stake","amount":"50000000"}],"burn_vote_quorum":false,"burn_proposal_deposit_prevote":false,"burn_vote_veto":true}}`, }, { "text output", @@ -35,6 +35,9 @@ deposit_params: - amount: "10000000" denom: stake params: + burn_proposal_deposit_prevote: false + burn_vote_quorum: false + burn_vote_veto: true expedited_min_deposit: - amount: "50000000" denom: stake diff --git a/types/tx/service.pb.go b/types/tx/service.pb.go index 50c70059c831..19665631a4c4 100644 --- a/types/tx/service.pb.go +++ b/types/tx/service.pb.go @@ -110,7 +110,7 @@ type GetTxsEventRequest struct { // events is the list of transaction event type. // Deprecated post v0.47.x: use query instead, which should contain a valid // events query. - Events []string `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` + Events []string `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` // Deprecated: Do not use. // pagination defines a pagination for the request. // Deprecated post v0.46.x: use page and limit instead. Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` // Deprecated: Do not use. @@ -123,6 +123,8 @@ type GetTxsEventRequest struct { Limit uint64 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` // query defines the transaction event query that is proxied to Tendermint's // TxSearch RPC method. The query must be valid. + // + // Since Cosmos SDK 0.48 Query string `protobuf:"bytes,6,opt,name=query,proto3" json:"query,omitempty"` } @@ -159,6 +161,7 @@ func (m *GetTxsEventRequest) XXX_DiscardUnknown() { var xxx_messageInfo_GetTxsEventRequest proto.InternalMessageInfo +// Deprecated: Do not use. func (m *GetTxsEventRequest) GetEvents() []string { if m != nil { return m.Events @@ -1144,85 +1147,85 @@ func init() { func init() { proto.RegisterFile("cosmos/tx/v1beta1/service.proto", fileDescriptor_e0b00a618705eca7) } var fileDescriptor_e0b00a618705eca7 = []byte{ - // 1234 bytes of a gzipped FileDescriptorProto + // 1237 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4d, 0x4f, 0x1b, 0x47, 0x18, 0x66, 0x6d, 0x83, 0xcd, 0x6b, 0x08, 0xce, 0x40, 0xc0, 0x38, 0xc4, 0x98, 0x0d, 0x1f, 0x8e, 0x55, 0xbc, 0x0a, 0x4d, 0xaa, 0x24, 0xaa, 0x54, 0xe1, 0x8f, 0x50, 0x92, 0x26, 0x44, 0x6b, 0xaa, 0x28, 0x55, 0x25, 0x6b, 0x6d, 0x4f, 0xec, 0x6d, 0xec, 0x5d, 0xe3, 0x19, 0xd0, 0x5a, 0x14, 0xb5, 0xea, 0xb1, 0x87, 0xaa, 0x52, 0x0f, 0xfd, 0x0f, 0xfd, 0x25, 0x3d, 0x46, 0xea, 0xa5, 0xc7, 0x0a, - 0x7a, 0xea, 0xa5, 0xfd, 0x09, 0xd5, 0xce, 0x8c, 0xed, 0x5d, 0x7b, 0x17, 0x43, 0x2e, 0x30, 0x1f, - 0xcf, 0xfb, 0x3e, 0xcf, 0xbc, 0x33, 0xf3, 0xec, 0x18, 0x56, 0xab, 0x26, 0x69, 0x99, 0x44, 0xa1, - 0x96, 0x72, 0x72, 0xbf, 0x82, 0xa9, 0x76, 0x5f, 0x21, 0xb8, 0x73, 0xa2, 0x57, 0x71, 0xb6, 0xdd, - 0x31, 0xa9, 0x89, 0x6e, 0x72, 0x40, 0x96, 0x5a, 0x59, 0x01, 0x48, 0xac, 0xd4, 0x4d, 0xb3, 0xde, - 0xc4, 0x8a, 0xd6, 0xd6, 0x15, 0xcd, 0x30, 0x4c, 0xaa, 0x51, 0xdd, 0x34, 0x08, 0x0f, 0x48, 0xdc, - 0x15, 0x19, 0x2b, 0x1a, 0xc1, 0x8a, 0x56, 0xa9, 0xea, 0xfd, 0xc4, 0x76, 0x47, 0x80, 0x12, 0xa3, - 0xb4, 0xd4, 0x12, 0x73, 0x19, 0x67, 0x82, 0xa3, 0x63, 0xdc, 0xe9, 0xf6, 0x31, 0x6d, 0xad, 0xae, - 0x1b, 0x8c, 0x4d, 0x60, 0x57, 0x28, 0x36, 0x6a, 0xb8, 0xd3, 0xd2, 0x0d, 0xaa, 0xd0, 0x6e, 0x1b, - 0x13, 0xa5, 0xd2, 0x34, 0xab, 0xef, 0x7c, 0x67, 0xd9, 0x5f, 0x3e, 0x2b, 0xff, 0x2b, 0x01, 0xda, - 0xc3, 0xf4, 0xd0, 0x22, 0xc5, 0x13, 0x6c, 0x50, 0x15, 0x1f, 0x1d, 0x63, 0x42, 0xd1, 0x22, 0x4c, - 0x61, 0xbb, 0x4f, 0xe2, 0x52, 0x2a, 0x98, 0x9e, 0x56, 0x45, 0x0f, 0x3d, 0x03, 0x18, 0xd0, 0xc7, - 0x03, 0x29, 0x29, 0x1d, 0xdd, 0xd9, 0xcc, 0x8a, 0xea, 0xd8, 0x5a, 0xb3, 0x4c, 0x6b, 0xaf, 0x4a, - 0xd9, 0x57, 0x5a, 0x1d, 0x8b, 0x9c, 0xb9, 0x40, 0x5c, 0x52, 0x1d, 0xd1, 0xe8, 0x21, 0x44, 0xcc, - 0x4e, 0x0d, 0x77, 0xca, 0x95, 0x6e, 0x3c, 0x98, 0x92, 0xd2, 0x37, 0x76, 0x12, 0xd9, 0x91, 0x3a, - 0x67, 0x0f, 0x6c, 0x48, 0xae, 0xab, 0x86, 0x4d, 0xde, 0x40, 0x08, 0x42, 0x6d, 0xad, 0x8e, 0xe3, - 0xa1, 0x94, 0x94, 0x0e, 0xa9, 0xac, 0x8d, 0x16, 0x60, 0xb2, 0xa9, 0xb7, 0x74, 0x1a, 0x9f, 0x64, - 0x83, 0xbc, 0x63, 0x8f, 0x32, 0x35, 0xf1, 0xa9, 0x94, 0x94, 0x9e, 0x56, 0x79, 0x47, 0xfe, 0x47, - 0x82, 0x79, 0xd7, 0x8a, 0x49, 0xdb, 0x34, 0x08, 0x46, 0x5b, 0x10, 0xa4, 0x16, 0x5f, 0x6f, 0x74, - 0xe7, 0x96, 0x87, 0x92, 0x43, 0x4b, 0xb5, 0x11, 0x68, 0x0f, 0x66, 0xa8, 0x55, 0xee, 0x88, 0x38, - 0x12, 0x0f, 0xb0, 0x88, 0x75, 0x57, 0x15, 0xd8, 0x2e, 0x3b, 0x02, 0x05, 0x58, 0x8d, 0xd2, 0x7e, - 0x9b, 0xa0, 0xe7, 0xae, 0x62, 0x06, 0x59, 0x31, 0xb7, 0xc6, 0x16, 0x93, 0x47, 0x8f, 0x54, 0x73, - 0x01, 0x26, 0xa9, 0x49, 0xb5, 0xa6, 0xa8, 0x0b, 0xef, 0xc8, 0x18, 0x50, 0xae, 0x63, 0x6a, 0xb5, - 0xaa, 0x46, 0xa8, 0x2d, 0x83, 0xef, 0xee, 0x32, 0x44, 0xa8, 0x55, 0xae, 0x74, 0x29, 0xb6, 0xd7, - 0x2b, 0xa5, 0x67, 0xd4, 0x30, 0xb5, 0x72, 0x76, 0x17, 0x3d, 0x80, 0x50, 0xcb, 0xac, 0x61, 0xb6, - 0xb5, 0x37, 0x76, 0x52, 0x1e, 0x65, 0xe8, 0xe7, 0x7b, 0x61, 0xd6, 0xb0, 0xca, 0xd0, 0xf2, 0xd7, - 0x30, 0xef, 0xa2, 0x11, 0x25, 0x2d, 0x42, 0xd4, 0x51, 0x29, 0x46, 0x75, 0xd5, 0x42, 0xc1, 0xa0, - 0x50, 0xf2, 0x6b, 0x98, 0x2b, 0xe9, 0xad, 0xe3, 0xa6, 0x46, 0x7b, 0x67, 0x09, 0xdd, 0x83, 0x00, - 0xb5, 0x44, 0x42, 0xef, 0xbd, 0x62, 0x05, 0x0a, 0x50, 0xcb, 0xb5, 0xd8, 0x80, 0x6b, 0xb1, 0xf2, - 0x8f, 0x12, 0xc4, 0x06, 0x99, 0x85, 0xe8, 0x4f, 0x21, 0x52, 0xd7, 0x48, 0x59, 0x37, 0xde, 0x9a, - 0x82, 0x60, 0xcd, 0x5f, 0xf1, 0x9e, 0x46, 0xf6, 0x8d, 0xb7, 0xa6, 0x1a, 0xae, 0xf3, 0x06, 0x7a, - 0x04, 0x53, 0x1d, 0x4c, 0x8e, 0x9b, 0x54, 0x5c, 0x8e, 0x94, 0x7f, 0xac, 0xca, 0x70, 0xaa, 0xc0, - 0xcb, 0x32, 0xcc, 0xb0, 0x63, 0xd9, 0x5b, 0x22, 0x82, 0x50, 0x43, 0x23, 0x0d, 0xa6, 0x61, 0x5a, - 0x65, 0x6d, 0xf9, 0x0c, 0x66, 0x05, 0x46, 0x88, 0xdd, 0x18, 0x5b, 0x07, 0x56, 0x83, 0xa1, 0x8d, - 0x08, 0x7c, 0xe0, 0x46, 0x58, 0xb0, 0xb8, 0x87, 0x69, 0xce, 0x36, 0x97, 0xd7, 0x3a, 0x6d, 0x1c, - 0x5a, 0xc4, 0xe1, 0x17, 0x0d, 0xac, 0xd7, 0x1b, 0x94, 0x69, 0x09, 0xaa, 0xa2, 0x87, 0x9e, 0x7e, - 0xb8, 0x5f, 0x38, 0x4f, 0xb7, 0xfc, 0x9f, 0x04, 0x4b, 0x23, 0xd4, 0xd7, 0xbd, 0xb8, 0x0f, 0x20, - 0xc2, 0x8c, 0xb1, 0xac, 0xd7, 0x84, 0x94, 0xe5, 0xec, 0xc0, 0x1c, 0xb3, 0xdc, 0x16, 0x19, 0xc5, - 0x7e, 0x41, 0x0d, 0x33, 0xe8, 0x7e, 0x0d, 0x6d, 0xc3, 0x24, 0x6b, 0x8a, 0x0b, 0xba, 0xe4, 0x13, - 0xa2, 0x72, 0x14, 0xda, 0x73, 0xad, 0x38, 0x74, 0xad, 0x4b, 0xed, 0x5a, 0xf2, 0x47, 0x30, 0x77, - 0x68, 0x15, 0x70, 0xd5, 0xbe, 0x65, 0x63, 0xef, 0xad, 0xfc, 0x18, 0x62, 0x03, 0xf4, 0xb5, 0x0e, - 0x87, 0xfc, 0xc8, 0x26, 0x2a, 0x1a, 0x4e, 0xa2, 0x2b, 0x46, 0x6e, 0xdb, 0xa4, 0xbd, 0x48, 0x41, - 0x7a, 0x89, 0xc6, 0x87, 0xb0, 0xd0, 0x83, 0xef, 0xb6, 0x74, 0xc3, 0xec, 0xb1, 0xdd, 0x01, 0xd0, - 0xec, 0x7e, 0xf9, 0x1b, 0x62, 0x1a, 0xe2, 0xbc, 0x4f, 0xb3, 0x91, 0x67, 0xc4, 0x34, 0xe4, 0x27, - 0x70, 0x6b, 0x28, 0x4c, 0x50, 0xad, 0xc1, 0x0c, 0x8f, 0xab, 0xe8, 0x86, 0xd6, 0xe9, 0x0a, 0xba, - 0x28, 0x1b, 0xcb, 0xb1, 0x21, 0xf9, 0xb1, 0x4d, 0xc9, 0xcb, 0xe2, 0xa2, 0xbc, 0x42, 0xe8, 0x27, - 0x36, 0xad, 0x2b, 0x54, 0xd0, 0x5e, 0x2e, 0x37, 0xf3, 0x39, 0x84, 0xc5, 0x37, 0x0b, 0xc5, 0x61, - 0xe1, 0x40, 0x2d, 0x14, 0xd5, 0x72, 0xee, 0x4d, 0xf9, 0xcb, 0x97, 0xa5, 0x57, 0xc5, 0xfc, 0xfe, - 0xd3, 0xfd, 0x62, 0x21, 0x36, 0x81, 0x62, 0x30, 0xd3, 0x9f, 0xd9, 0x2d, 0xe5, 0x63, 0x12, 0xba, - 0x09, 0xb3, 0xfd, 0x91, 0x42, 0xb1, 0x94, 0x8f, 0x05, 0x32, 0xdf, 0x4b, 0x30, 0xeb, 0x72, 0x5b, - 0x94, 0x84, 0x44, 0x4e, 0x3d, 0xd8, 0x2d, 0xe4, 0x77, 0x4b, 0x87, 0xe5, 0x17, 0x07, 0x85, 0xe2, - 0x50, 0xda, 0x15, 0x58, 0x18, 0x9a, 0xcf, 0x7d, 0x71, 0x90, 0x7f, 0x1e, 0x93, 0x12, 0x81, 0x88, - 0x84, 0x96, 0x60, 0x7e, 0x68, 0xb6, 0xf4, 0xe6, 0x65, 0x3e, 0x16, 0xb0, 0x75, 0x0e, 0x4d, 0xec, - 0xb2, 0x99, 0xe0, 0xce, 0x6f, 0xd3, 0x10, 0x2e, 0xf1, 0xa7, 0x10, 0x3a, 0x85, 0x48, 0xcf, 0x2c, - 0x91, 0xec, 0x71, 0x28, 0x86, 0x3c, 0x3a, 0x71, 0xf7, 0x52, 0x8c, 0xb0, 0x94, 0xcd, 0x1f, 0xfe, - 0xf8, 0xfb, 0x97, 0x40, 0xea, 0x89, 0x94, 0x91, 0x6f, 0x2b, 0x1e, 0xcf, 0xb0, 0x1e, 0xe1, 0x11, - 0x4c, 0x32, 0xe7, 0x43, 0xab, 0x1e, 0x59, 0x9d, 0xbe, 0x99, 0x48, 0xf9, 0x03, 0x04, 0xe7, 0x06, - 0xe3, 0x5c, 0x45, 0x77, 0x14, 0xaf, 0x07, 0x18, 0x51, 0x4e, 0x6d, 0xaf, 0x3d, 0x43, 0xdf, 0x41, - 0xd4, 0xf1, 0x51, 0x43, 0x1b, 0x97, 0x7d, 0x0b, 0x07, 0xf4, 0x9b, 0xe3, 0x60, 0x42, 0xc4, 0x1a, - 0x13, 0x71, 0xdb, 0x5e, 0xf8, 0xa2, 0xb7, 0x0e, 0xf4, 0x2d, 0x44, 0x1d, 0x0f, 0x15, 0x4f, 0x01, - 0xa3, 0x4f, 0x37, 0x4f, 0x01, 0x1e, 0xef, 0x1d, 0x39, 0xc9, 0x04, 0xc4, 0x91, 0x1f, 0xfb, 0xaf, - 0x12, 0xcc, 0x0d, 0x59, 0x2e, 0xba, 0xe7, 0x9d, 0xdb, 0xe3, 0x8b, 0x90, 0xc8, 0x5c, 0x05, 0x2a, - 0xa4, 0x6c, 0x33, 0x29, 0x5b, 0x68, 0xc3, 0x67, 0x43, 0x98, 0xb3, 0x2a, 0xa7, 0xfc, 0x9b, 0x72, - 0x86, 0xba, 0x10, 0xe9, 0xdd, 0x4c, 0xcf, 0x83, 0x38, 0x64, 0x9b, 0x9e, 0x07, 0x71, 0xd8, 0x2c, - 0xe5, 0x75, 0xa6, 0x21, 0x69, 0xef, 0xc7, 0xb2, 0x87, 0x8c, 0x1a, 0xa7, 0x63, 0xd4, 0xdc, 0x8b, - 0x7c, 0xa8, 0x5d, 0x46, 0xea, 0x43, 0xed, 0xb6, 0xcc, 0x71, 0xd4, 0x98, 0xd3, 0xfd, 0x24, 0xc1, - 0xac, 0xcb, 0x07, 0xd1, 0xd6, 0x25, 0xc9, 0x9d, 0x6e, 0x97, 0x48, 0x8f, 0x07, 0x0a, 0x29, 0x19, - 0x26, 0x65, 0xdd, 0x96, 0xb2, 0xea, 0x2b, 0x45, 0x61, 0x66, 0x27, 0x04, 0x39, 0x1c, 0xd2, 0x47, - 0xd0, 0xa8, 0xfd, 0xfa, 0x08, 0xf2, 0x30, 0xdb, 0x71, 0x82, 0xf8, 0xb6, 0x70, 0x41, 0xb9, 0xcf, - 0x7e, 0x3f, 0x4f, 0x4a, 0xef, 0xcf, 0x93, 0xd2, 0x5f, 0xe7, 0x49, 0xe9, 0xe7, 0x8b, 0xe4, 0xc4, - 0xfb, 0x8b, 0xe4, 0xc4, 0x9f, 0x17, 0xc9, 0x89, 0xaf, 0x36, 0xea, 0x3a, 0x6d, 0x1c, 0x57, 0xb2, - 0x55, 0xb3, 0xd5, 0x4b, 0xc2, 0xff, 0x6d, 0x93, 0xda, 0xbb, 0xde, 0xaf, 0x22, 0xab, 0x32, 0xc5, - 0x7e, 0x13, 0x7d, 0xfc, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x24, 0x1f, 0x2c, 0x10, 0x0e, - 0x00, 0x00, + 0x7a, 0xea, 0xa9, 0x52, 0xff, 0x40, 0xb5, 0x33, 0xb3, 0xb6, 0xd7, 0xde, 0xc5, 0x90, 0x0b, 0xcc, + 0xc7, 0xf3, 0xbe, 0xcf, 0x33, 0xef, 0xcc, 0x3c, 0x3b, 0x86, 0xd5, 0xaa, 0x49, 0x5a, 0x26, 0x51, + 0xa8, 0xa5, 0x9c, 0xdc, 0xaf, 0x60, 0xaa, 0xdd, 0x57, 0x08, 0xee, 0x9c, 0xe8, 0x55, 0x9c, 0x6d, + 0x77, 0x4c, 0x6a, 0xa2, 0x9b, 0x1c, 0x90, 0xa5, 0x56, 0x56, 0x00, 0x12, 0x2b, 0x75, 0xd3, 0xac, + 0x37, 0xb1, 0xa2, 0xb5, 0x75, 0x45, 0x33, 0x0c, 0x93, 0x6a, 0x54, 0x37, 0x0d, 0xc2, 0x03, 0x12, + 0x77, 0x45, 0xc6, 0x8a, 0x46, 0xb0, 0xa2, 0x55, 0xaa, 0x7a, 0x2f, 0xb1, 0xdd, 0x11, 0xa0, 0xc4, + 0x28, 0x2d, 0xb5, 0xc4, 0x5c, 0x66, 0x30, 0xc1, 0xd1, 0x31, 0xee, 0x74, 0x7b, 0x98, 0xb6, 0x56, + 0xd7, 0x0d, 0xc6, 0x26, 0xb0, 0x2b, 0x14, 0x1b, 0x35, 0xdc, 0x69, 0xe9, 0x06, 0x55, 0x68, 0xb7, + 0x8d, 0x89, 0x52, 0x69, 0x9a, 0xd5, 0x77, 0xbe, 0xb3, 0xec, 0x2f, 0x9f, 0x95, 0xff, 0x93, 0x00, + 0xed, 0x61, 0x7a, 0x68, 0x91, 0xe2, 0x09, 0x36, 0xa8, 0x8a, 0x8f, 0x8e, 0x31, 0xa1, 0x28, 0x01, + 0x53, 0xd8, 0xee, 0x93, 0xb8, 0x94, 0x0a, 0xa6, 0xa7, 0x73, 0x81, 0xb8, 0xa4, 0x8a, 0x11, 0xf4, + 0x0c, 0xa0, 0x2f, 0x21, 0x1e, 0x48, 0x49, 0xe9, 0xe8, 0xce, 0x66, 0x56, 0x54, 0xc8, 0xd6, 0x9b, + 0x65, 0x7a, 0x9d, 0x4a, 0x65, 0x5f, 0x69, 0x75, 0x2c, 0xf2, 0xb2, 0x3c, 0x03, 0xd1, 0xe8, 0x21, + 0x44, 0xcc, 0x4e, 0x0d, 0x77, 0xca, 0x95, 0x6e, 0x3c, 0x98, 0x92, 0xd2, 0x37, 0x76, 0x12, 0xd9, + 0x91, 0x5a, 0x67, 0x0f, 0x6c, 0x48, 0xae, 0xab, 0x86, 0x4d, 0xde, 0x40, 0x08, 0x42, 0x6d, 0xad, + 0x8e, 0xe3, 0xa1, 0x94, 0x94, 0x0e, 0xa9, 0xac, 0x8d, 0x16, 0x60, 0xb2, 0xa9, 0xb7, 0x74, 0x1a, + 0x9f, 0x64, 0x83, 0xbc, 0x63, 0x8f, 0x32, 0x35, 0xf1, 0xa9, 0x94, 0x94, 0x9e, 0x56, 0x79, 0x47, + 0xfe, 0x47, 0x82, 0x79, 0xd7, 0xaa, 0x49, 0xdb, 0x34, 0x08, 0x46, 0x5b, 0x10, 0xa4, 0x16, 0x5f, + 0x73, 0x74, 0xe7, 0x96, 0x87, 0x92, 0x43, 0x4b, 0xb5, 0x11, 0x68, 0x0f, 0x66, 0xa8, 0x55, 0xee, + 0x88, 0x38, 0x12, 0x0f, 0xb0, 0x88, 0x75, 0x57, 0x15, 0xd8, 0x4e, 0x0f, 0x04, 0x0a, 0xb0, 0x1a, + 0xa5, 0xbd, 0x36, 0x41, 0xcf, 0x5d, 0xc5, 0x0c, 0xb2, 0x62, 0x6e, 0x8d, 0x2d, 0x26, 0x8f, 0x1e, + 0xa9, 0xe6, 0x02, 0x4c, 0x52, 0x93, 0x6a, 0x4d, 0x51, 0x17, 0xde, 0x91, 0x31, 0xa0, 0x5c, 0xc7, + 0xd4, 0x6a, 0x55, 0x8d, 0x50, 0x5b, 0x06, 0xdf, 0xe1, 0x65, 0x88, 0x50, 0xab, 0x5c, 0xe9, 0x52, + 0x6c, 0xaf, 0x57, 0x4a, 0xcf, 0xa8, 0x61, 0x6a, 0xe5, 0xec, 0x2e, 0x7a, 0x00, 0xa1, 0x96, 0x59, + 0xc3, 0x6c, 0x6b, 0x6f, 0xec, 0xa4, 0x3c, 0xca, 0xd0, 0xcb, 0xf7, 0xc2, 0xac, 0x61, 0x95, 0xa1, + 0xe5, 0xaf, 0x61, 0xde, 0x45, 0x23, 0x4a, 0x5a, 0x84, 0xe8, 0x40, 0xa5, 0x18, 0xd5, 0x55, 0x0b, + 0x05, 0xfd, 0x42, 0xc9, 0xaf, 0x61, 0xae, 0xa4, 0xb7, 0x8e, 0x9b, 0x1a, 0x75, 0xce, 0x12, 0xba, + 0x07, 0x01, 0x6a, 0x89, 0x84, 0xde, 0x7b, 0xc5, 0x0a, 0x14, 0xa0, 0x96, 0x6b, 0xb1, 0x01, 0xd7, + 0x62, 0xe5, 0x1f, 0x25, 0x88, 0xf5, 0x33, 0x0b, 0xd1, 0x9f, 0x42, 0xa4, 0xae, 0x91, 0xb2, 0x6e, + 0xbc, 0x35, 0x05, 0xc1, 0x9a, 0xbf, 0xe2, 0x3d, 0x8d, 0xec, 0x1b, 0x6f, 0x4d, 0x35, 0x5c, 0xe7, + 0x0d, 0xf4, 0x08, 0xa6, 0x3a, 0x98, 0x1c, 0x37, 0xa9, 0xb8, 0x1c, 0x29, 0xff, 0x58, 0x95, 0xe1, + 0x54, 0x81, 0x97, 0x65, 0x98, 0x61, 0xc7, 0xd2, 0x59, 0x22, 0x82, 0x50, 0x43, 0x23, 0x0d, 0xa6, + 0x61, 0x5a, 0x65, 0x6d, 0xf9, 0x0c, 0x66, 0x05, 0x46, 0x88, 0xdd, 0x18, 0x5b, 0x07, 0x56, 0x83, + 0xa1, 0x8d, 0x08, 0x7c, 0xe0, 0x46, 0x58, 0xb0, 0xb8, 0x87, 0x69, 0xce, 0x36, 0x98, 0xd7, 0x3a, + 0x6d, 0x1c, 0x5a, 0xc4, 0x11, 0xbb, 0x08, 0x53, 0x0d, 0xac, 0xd7, 0x1b, 0x94, 0x69, 0x09, 0xaa, + 0xa2, 0x87, 0x9e, 0x7e, 0xb8, 0x5f, 0x0c, 0x9e, 0x6e, 0xf9, 0x5f, 0x09, 0x96, 0x46, 0xa8, 0xaf, + 0x7b, 0x71, 0x1f, 0x40, 0x84, 0x99, 0x63, 0x59, 0xaf, 0x09, 0x29, 0xcb, 0xd9, 0xbe, 0x41, 0x66, + 0xb9, 0x35, 0x32, 0x8a, 0xfd, 0x82, 0x1a, 0x66, 0xd0, 0xfd, 0x1a, 0xda, 0x86, 0x49, 0xd6, 0x14, + 0x17, 0x74, 0xc9, 0x27, 0x44, 0xe5, 0x28, 0xb4, 0xe7, 0x5a, 0x71, 0xe8, 0x5a, 0x97, 0xda, 0xb5, + 0xe4, 0x8f, 0x60, 0xee, 0xd0, 0x2a, 0xe0, 0xaa, 0x7d, 0xcb, 0xc6, 0xde, 0x5b, 0xf9, 0x31, 0xc4, + 0xfa, 0xe8, 0x6b, 0x1d, 0x0e, 0xf9, 0x91, 0x4d, 0x54, 0x34, 0x06, 0x89, 0xae, 0x18, 0xb9, 0x6d, + 0x93, 0x3a, 0x91, 0x82, 0xf4, 0x12, 0x8d, 0x0f, 0x61, 0xc1, 0x81, 0xef, 0xb6, 0x74, 0xc3, 0x74, + 0xd8, 0xee, 0x00, 0x68, 0x76, 0xbf, 0xfc, 0x0d, 0x31, 0x0d, 0x71, 0xde, 0xa7, 0xd9, 0xc8, 0x33, + 0x62, 0x1a, 0xf2, 0x13, 0xb8, 0x35, 0x14, 0x26, 0xa8, 0xd6, 0x60, 0x86, 0xc7, 0x55, 0x74, 0x43, + 0xeb, 0x74, 0x05, 0x5d, 0x94, 0x8d, 0xe5, 0xd8, 0x90, 0xfc, 0xd8, 0xa6, 0xe4, 0x65, 0x71, 0x51, + 0x5e, 0x21, 0xf4, 0x13, 0x9b, 0xd6, 0x15, 0x2a, 0x68, 0x2f, 0x97, 0x9b, 0xf9, 0x1c, 0xc2, 0xe2, + 0x9b, 0x85, 0xe2, 0xb0, 0x70, 0xa0, 0x16, 0x8a, 0x6a, 0x39, 0xf7, 0xa6, 0xfc, 0xe5, 0xcb, 0xd2, + 0xab, 0x62, 0x7e, 0xff, 0xe9, 0x7e, 0xb1, 0x10, 0x9b, 0x40, 0x31, 0x98, 0xe9, 0xcd, 0xec, 0x96, + 0xf2, 0x31, 0x09, 0xdd, 0x84, 0xd9, 0xde, 0x48, 0xa1, 0x58, 0xca, 0xc7, 0x02, 0x99, 0xef, 0x25, + 0x98, 0x75, 0xb9, 0x2d, 0x4a, 0x42, 0x22, 0xa7, 0x1e, 0xec, 0x16, 0xf2, 0xbb, 0xa5, 0xc3, 0xf2, + 0x8b, 0x83, 0x42, 0x71, 0x28, 0xed, 0x0a, 0x2c, 0x0c, 0xcd, 0xe7, 0xbe, 0x38, 0xc8, 0x3f, 0x8f, + 0x49, 0x89, 0x40, 0x44, 0x42, 0x4b, 0x30, 0x3f, 0x34, 0x5b, 0x7a, 0xf3, 0x32, 0x1f, 0x0b, 0xd8, + 0x3a, 0x87, 0x26, 0x76, 0xd9, 0x4c, 0x70, 0xe7, 0xb7, 0x69, 0x08, 0x97, 0xf8, 0x73, 0x08, 0x9d, + 0x42, 0xc4, 0x31, 0x4b, 0x24, 0x7b, 0x1c, 0x8a, 0x21, 0x8f, 0x4e, 0xdc, 0xbd, 0x14, 0x23, 0x2c, + 0x65, 0xf3, 0x87, 0x3f, 0xfe, 0xfe, 0x25, 0x90, 0x7a, 0x22, 0x65, 0xe4, 0xdb, 0x8a, 0xc7, 0x53, + 0xcc, 0x21, 0x3c, 0x82, 0x49, 0xe6, 0x7c, 0x68, 0xd5, 0x23, 0xeb, 0xa0, 0x6f, 0x26, 0x52, 0xfe, + 0x00, 0xc1, 0xb9, 0xc1, 0x38, 0x57, 0xd1, 0x1d, 0xc5, 0xeb, 0x11, 0x46, 0x94, 0x53, 0xdb, 0x6b, + 0xcf, 0xd0, 0x77, 0x10, 0x1d, 0xf8, 0xa8, 0xa1, 0x8d, 0xcb, 0xbe, 0x85, 0x7d, 0xfa, 0xcd, 0x71, + 0x30, 0x21, 0x62, 0x8d, 0x89, 0xb8, 0x6d, 0x2f, 0x7c, 0xd1, 0x5b, 0x07, 0xfa, 0x16, 0xa2, 0x03, + 0x0f, 0x15, 0x4f, 0x01, 0xa3, 0xcf, 0x37, 0x4f, 0x01, 0x1e, 0xef, 0x1d, 0x39, 0xc9, 0x04, 0xc4, + 0x91, 0x1f, 0xfb, 0xaf, 0x12, 0xcc, 0x0d, 0x59, 0x2e, 0xba, 0xe7, 0x9d, 0xdb, 0xe3, 0x8b, 0x90, + 0xc8, 0x5c, 0x05, 0x2a, 0xa4, 0x6c, 0x33, 0x29, 0x5b, 0x68, 0xc3, 0x67, 0x43, 0x98, 0xb3, 0x2a, + 0xa7, 0xfc, 0x9b, 0x72, 0x86, 0xba, 0x10, 0x71, 0x6e, 0xa6, 0xe7, 0x41, 0x1c, 0xb2, 0x4d, 0xcf, + 0x83, 0x38, 0x6c, 0x96, 0xf2, 0x3a, 0xd3, 0x90, 0xb4, 0xf7, 0x63, 0xd9, 0x43, 0x46, 0x8d, 0xd3, + 0x31, 0x6a, 0xee, 0x45, 0x3e, 0xd4, 0x2e, 0x23, 0xf5, 0xa1, 0x76, 0x5b, 0xe6, 0x38, 0x6a, 0xcc, + 0xe9, 0x7e, 0x92, 0x60, 0xd6, 0xe5, 0x83, 0x68, 0xeb, 0x92, 0xe4, 0x83, 0x6e, 0x97, 0x48, 0x8f, + 0x07, 0x0a, 0x29, 0x19, 0x26, 0x65, 0xdd, 0x96, 0xb2, 0xea, 0x2b, 0x45, 0x61, 0x66, 0x27, 0x04, + 0x0d, 0x38, 0xa4, 0x8f, 0xa0, 0x51, 0xfb, 0xf5, 0x11, 0xe4, 0x61, 0xb6, 0xe3, 0x04, 0xf1, 0x6d, + 0xe1, 0x82, 0x72, 0x9f, 0xfd, 0x7e, 0x9e, 0x94, 0xde, 0x9f, 0x27, 0xa5, 0xbf, 0xce, 0x93, 0xd2, + 0xcf, 0x17, 0xc9, 0x89, 0xf7, 0x17, 0xc9, 0x89, 0x3f, 0x2f, 0x92, 0x13, 0x5f, 0x6d, 0xd4, 0x75, + 0xda, 0x38, 0xae, 0x64, 0xab, 0x66, 0xcb, 0x49, 0xc2, 0xff, 0x6d, 0x93, 0xda, 0x3b, 0xe7, 0x97, + 0x91, 0x55, 0x99, 0x62, 0xbf, 0x8b, 0x3e, 0xfe, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x42, 0xa8, 0xd7, + 0x97, 0x14, 0x0e, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/gov/README.md b/x/gov/README.md index 374ae5c24ca3..d41c4dfd7fe6 100644 --- a/x/gov/README.md +++ b/x/gov/README.md @@ -53,7 +53,6 @@ staking token of the chain. * [EndBlocker](#endblocker) * [Handlers](#handlers) * [Parameters](#parameters) - * [SubKeys](#subkeys) * [Client](#client) * [CLI](#cli) * [gRPC](#grpc) @@ -260,6 +259,16 @@ new version of the software. Validators and full nodes can use an automation tool, such as [Cosmovisor](https://docs.cosmos.network/main/tooling/cosmovisor), for automatically switching version of the chain. +#### Burnable Params + +There are three parameters that define if the deposit of a proposal should be burned or returned to the depositors. + +* `BurnVoteVeto` burns the proposal deposit if the proposal gets vetoed. +* `BurnVoteQuorum` burns the proposal deposit if the proposal deposit if the vote does not reach quorum. +* `BurnProposalDepositPrevote` burns the proposal deposit if it does not enter the voting phase. + +> Note: These parameters are modifiable via governance. + ## State ### Constitution @@ -274,12 +283,12 @@ Validators and full nodes can use an automation tool, such as [Cosmovisor](https Since this is more of a social feature than a technical feature, we'll now get into some items that may have been useful to have in a genesis constitution: * What limitations on governance exist, if any? - * is it okay for the community to slash the wallet of a whale that they no longer feel that they want around? (viz: Juno Proposal 4 and 16) - * can governance "socially slash" a validator who is using unapproved MEV? (viz: commonwealth.im/osmosis) - * In the event of an economic emergency, what should validators do? - * Terra crash of May, 2022, saw validators choose to run a new binary with code that had not been approved by governance, because the governance token had been inflated to nothing. + * is it okay for the community to slash the wallet of a whale that they no longer feel that they want around? (viz: Juno Proposal 4 and 16) + * can governance "socially slash" a validator who is using unapproved MEV? (viz: commonwealth.im/osmosis) + * In the event of an economic emergency, what should validators do? + * Terra crash of May, 2022, saw validators choose to run a new binary with code that had not been approved by governance, because the governance token had been inflated to nothing. * What is the purpose of the chain, specifically? - * best example of this is the Cosmos hub, where different founding groups, have different interpertations of the purpose of the network. + * best example of this is the Cosmos hub, where different founding groups, have different interpertations of the purpose of the network. This genesis entry, "constitution" hasn't been designed for existing chains, who should likely just ratify a constitution using their governance system. Instead, this is for new chains. It will allow for validators to have a much clearer idea of purpose and the expecations placed on them while operating thier nodes. Likewise, for community members, the constitution will give them some idea of what to expect from both the "chain team" and the validators, respectively. @@ -716,7 +725,7 @@ The governance module emits the following events: ### EndBlocker | Type | Attribute Key | Attribute Value | -| ----------------- | --------------- | ---------------- | +|-------------------|-----------------|------------------| | inactive_proposal | proposal_id | {proposalID} | | inactive_proposal | proposal_result | {proposalResult} | | active_proposal | proposal_id | {proposalID} | @@ -727,7 +736,7 @@ The governance module emits the following events: #### MsgSubmitProposal | Type | Attribute Key | Attribute Value | -| ------------------- | ------------------- | --------------- | +|---------------------|---------------------|-----------------| | submit_proposal | proposal_id | {proposalID} | | submit_proposal [0] | voting_period_start | {proposalID} | | proposal_deposit | amount | {depositAmount} | @@ -741,7 +750,7 @@ The governance module emits the following events: #### MsgVote | Type | Attribute Key | Attribute Value | -| ------------- | ------------- | --------------- | +|---------------|---------------|-----------------| | proposal_vote | option | {voteOption} | | proposal_vote | proposal_id | {proposalID} | | message | module | governance | @@ -751,7 +760,7 @@ The governance module emits the following events: #### MsgVoteWeighted | Type | Attribute Key | Attribute Value | -| ------------- | ------------- | --------------------- | +|---------------|---------------|-----------------------| | proposal_vote | option | {weightedVoteOptions} | | proposal_vote | proposal_id | {proposalID} | | message | module | governance | @@ -761,7 +770,7 @@ The governance module emits the following events: #### MsgDeposit | Type | Attribute Key | Attribute Value | -| -------------------- | ------------------- | --------------- | +|----------------------|---------------------|-----------------| | proposal_deposit | amount | {depositAmount} | | proposal_deposit | proposal_id | {proposalID} | | proposal_deposit [0] | voting_period_start | {proposalID} | @@ -775,17 +784,20 @@ The governance module emits the following events: The governance module contains the following parameters: -| Key | Type | Example | -| ----------------------- | ---------------- | --------------------------------------- | -| min_deposit | array (coins) | [{"denom":"uatom","amount":"10000000"}] | -| max_deposit_period | string (time ns) | "172800000000000" (17280s) | -| voting_period | string (time ns) | "172800000000000" (17280s) | -| quorum | string (dec) | "0.334000000000000000" | -| threshold | string (dec) | "0.500000000000000000" | -| veto | string (dec) | "0.334000000000000000" | -| expedited_threshold | string (time ns) | "0.667000000000000000" | -| expedited_voting_period | string (time ns) | "86400000000000" (8600s) | -| expedited_min_deposit | array (coins) | [{"denom":"uatom","amount":"50000000"}] | +| Key | Type | Example | +|-------------------------------|------------------|-----------------------------------------| +| min_deposit | array (coins) | [{"denom":"uatom","amount":"10000000"}] | +| max_deposit_period | string (time ns) | "172800000000000" (17280s) | +| voting_period | string (time ns) | "172800000000000" (17280s) | +| quorum | string (dec) | "0.334000000000000000" | +| threshold | string (dec) | "0.500000000000000000" | +| veto | string (dec) | "0.334000000000000000" | +| expedited_threshold | string (time ns) | "0.667000000000000000" | +| expedited_voting_period | string (time ns) | "86400000000000" (8600s) | +| expedited_min_deposit | array (coins) | [{"denom":"uatom","amount":"50000000"}] | +| burn_proposal_deposit_prevote | bool | false | +| burn_vote_quorum | bool | false | +| burn_vote_veto | bool | true | **NOTE**: The governance module contains parameters that are objects unlike other modules. If only a subset of parameters are desired to be changed, only they need diff --git a/x/gov/abci.go b/x/gov/abci.go index 3692cc10cbce..8ebf6235049c 100644 --- a/x/gov/abci.go +++ b/x/gov/abci.go @@ -20,7 +20,12 @@ func EndBlocker(ctx sdk.Context, keeper *keeper.Keeper) { // A proposal is dead when it's inactive and didn't get enough deposit on time to get into voting phase. keeper.IterateInactiveProposalsQueue(ctx, ctx.BlockHeader().Time, func(proposal v1.Proposal) bool { keeper.DeleteProposal(ctx, proposal.Id) - keeper.RefundAndDeleteDeposits(ctx, proposal.Id) // refund deposit if proposal got removed without getting 100% of the proposal + + if !keeper.GetParams(ctx).BurnProposalDepositPrevote { + keeper.RefundAndDeleteDeposits(ctx, proposal.Id) // refund deposit if proposal got removed without getting 100% of the proposal + } else { + keeper.DeleteAndBurnDeposits(ctx, proposal.Id) // burn the deposit if proposal got removed without getting 100% of the proposal + } // called when proposal become inactive keeper.Hooks().AfterProposalFailedMinDeposit(ctx, proposal.Id) @@ -53,7 +58,7 @@ func EndBlocker(ctx sdk.Context, keeper *keeper.Keeper) { // If an expedited proposal fails, we do not want to update // the deposit at this point since the proposal is converted to regular. - // As a result, the deposits are either deleted or refunded in all casses + // As a result, the deposits are either deleted or refunded in all cases // EXCEPT when an expedited proposal fails. if !(proposal.Expedited && !passes) { if burnDeposits { diff --git a/x/gov/keeper/tally.go b/x/gov/keeper/tally.go index 0f1a4f0cfdd9..b2cf46d74fe1 100644 --- a/x/gov/keeper/tally.go +++ b/x/gov/keeper/tally.go @@ -102,7 +102,7 @@ func (keeper Keeper) Tally(ctx sdk.Context, proposal v1.Proposal) (passes bool, percentVoting := totalVotingPower.Quo(sdk.NewDecFromInt(keeper.sk.TotalBondedTokens(ctx))) quorum, _ := sdk.NewDecFromStr(params.Quorum) if percentVoting.LT(quorum) { - return false, false, tallyResults + return false, keeper.GetParams(ctx).BurnVoteQuorum, tallyResults } // If no one votes (everyone abstains), proposal fails @@ -113,7 +113,7 @@ func (keeper Keeper) Tally(ctx sdk.Context, proposal v1.Proposal) (passes bool, // If more than 1/3 of voters veto, proposal fails vetoThreshold, _ := sdk.NewDecFromStr(params.VetoThreshold) if results[v1.OptionNoWithVeto].Quo(totalVotingPower).GT(vetoThreshold) { - return false, true, tallyResults + return false, keeper.GetParams(ctx).BurnVoteVeto, tallyResults } // If more than 1/2 of non-abstaining voters vote Yes, proposal passes diff --git a/x/gov/migrations/v4/json.go b/x/gov/migrations/v4/json.go index b281ad237ed7..62d7ee9bd918 100644 --- a/x/gov/migrations/v4/json.go +++ b/x/gov/migrations/v4/json.go @@ -26,6 +26,9 @@ func MigrateJSON(oldState *v1.GenesisState) (*v1.GenesisState, error) { defaultParams.MinInitialDepositRatio, defaultParams.ProposalCancelRatio, defaultParams.ProposalCancelDest, + defaultParams.BurnProposalDepositPrevote, + defaultParams.BurnVoteQuorum, + defaultParams.BurnVoteVeto, ) return &v1.GenesisState{ diff --git a/x/gov/migrations/v4/json_test.go b/x/gov/migrations/v4/json_test.go index 219af3ef0deb..1da44080bcaf 100644 --- a/x/gov/migrations/v4/json_test.go +++ b/x/gov/migrations/v4/json_test.go @@ -60,6 +60,9 @@ func TestMigrateJSON(t *testing.T) { "deposit_params": null, "deposits": [], "params": { + "burn_proposal_deposit_prevote": false, + "burn_vote_quorum": false, + "burn_vote_veto": true, "expedited_min_deposit": [ { "amount": "50000000", diff --git a/x/gov/migrations/v4/store.go b/x/gov/migrations/v4/store.go index c108e3ed7921..298f997dcf50 100644 --- a/x/gov/migrations/v4/store.go +++ b/x/gov/migrations/v4/store.go @@ -25,19 +25,23 @@ func migrateParams(ctx sdk.Context, storeKey storetypes.StoreKey, legacySubspace legacySubspace.Get(ctx, govv1.ParamStoreKeyVotingParams, &vp) legacySubspace.Get(ctx, govv1.ParamStoreKeyTallyParams, &tp) + defaultParams := govv1.DefaultParams() params := govv1.NewParams( dp.MinDeposit, - govv1.DefaultParams().ExpeditedMinDeposit, + defaultParams.ExpeditedMinDeposit, *dp.MaxDepositPeriod, *vp.VotingPeriod, - *govv1.DefaultParams().ExpeditedVotingPeriod, + *defaultParams.ExpeditedVotingPeriod, tp.Quorum, tp.Threshold, - govv1.DefaultParams().ExpeditedThreshold, + defaultParams.ExpeditedThreshold, tp.VetoThreshold, sdk.ZeroDec().String(), sdk.ZeroDec().String(), "", + defaultParams.BurnProposalDepositPrevote, + defaultParams.BurnVoteQuorum, + defaultParams.BurnVoteVeto, ) bz, err := cdc.Marshal(¶ms) diff --git a/x/gov/migrations/v5/store.go b/x/gov/migrations/v5/store.go index d17f93ba4722..f073fbc5c9ab 100644 --- a/x/gov/migrations/v5/store.go +++ b/x/gov/migrations/v5/store.go @@ -24,6 +24,9 @@ func MigrateStore(ctx sdk.Context, storeKey storetypes.StoreKey, cdc codec.Binar params.ExpeditedMinDeposit = defaultParams.ExpeditedMinDeposit params.ExpeditedVotingPeriod = defaultParams.ExpeditedVotingPeriod params.ExpeditedThreshold = defaultParams.ExpeditedThreshold + params.BurnProposalDepositPrevote = defaultParams.BurnProposalDepositPrevote + params.BurnVoteQuorum = defaultParams.BurnVoteQuorum + params.BurnVoteVeto = defaultParams.BurnVoteVeto bz, err := cdc.Marshal(¶ms) if err != nil { diff --git a/x/gov/simulation/genesis.go b/x/gov/simulation/genesis.go index 384943024045..bd80f4927aab 100644 --- a/x/gov/simulation/genesis.go +++ b/x/gov/simulation/genesis.go @@ -166,7 +166,7 @@ func RandomizedGenState(simState *module.SimulationState) { govGenesis := v1.NewGenesisState( startingProposalID, - v1.NewParams(minDeposit, expeditedMinDeposit, depositPeriod, votingPeriod, expeditedVotingPeriod, quorum.String(), threshold.String(), expitedVotingThreshold.String(), veto.String(), minInitialDepositRatio.String(), proposalCancelRate.String(), ""), + v1.NewParams(minDeposit, expeditedMinDeposit, depositPeriod, votingPeriod, expeditedVotingPeriod, quorum.String(), threshold.String(), expitedVotingThreshold.String(), veto.String(), minInitialDepositRatio.String(), proposalCancelRate.String(), "", simState.Rand.Intn(2) == 0, simState.Rand.Intn(2) == 0, simState.Rand.Intn(2) == 0), ) bz, err := json.MarshalIndent(&govGenesis, "", " ") diff --git a/x/gov/types/v1/gov.pb.go b/x/gov/types/v1/gov.pb.go index a2c378dde67d..2e04ef387547 100644 --- a/x/gov/types/v1/gov.pb.go +++ b/x/gov/types/v1/gov.pb.go @@ -775,6 +775,18 @@ type Params struct { ExpeditedThreshold string `protobuf:"bytes,11,opt,name=expedited_threshold,json=expeditedThreshold,proto3" json:"expedited_threshold,omitempty"` // Minimum expedited deposit for a proposal to enter voting period. ExpeditedMinDeposit []types.Coin `protobuf:"bytes,12,rep,name=expedited_min_deposit,json=expeditedMinDeposit,proto3" json:"expedited_min_deposit"` + // burn deposits if a proposal does not meet quorum + // + // Since: cosmos-sdk 0.47 + BurnVoteQuorum bool `protobuf:"varint,13,opt,name=burn_vote_quorum,json=burnVoteQuorum,proto3" json:"burn_vote_quorum,omitempty"` + // burn deposits if the proposal does not enter voting period + // + // Since: cosmos-sdk 0.47 + BurnProposalDepositPrevote bool `protobuf:"varint,14,opt,name=burn_proposal_deposit_prevote,json=burnProposalDepositPrevote,proto3" json:"burn_proposal_deposit_prevote,omitempty"` + // burn deposits if quorum with vote type no_veto is met + // + // Since: cosmos-sdk 0.47 + BurnVoteVeto bool `protobuf:"varint,15,opt,name=burn_vote_veto,json=burnVoteVeto,proto3" json:"burn_vote_veto,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -894,6 +906,27 @@ func (m *Params) GetExpeditedMinDeposit() []types.Coin { return nil } +func (m *Params) GetBurnVoteQuorum() bool { + if m != nil { + return m.BurnVoteQuorum + } + return false +} + +func (m *Params) GetBurnProposalDepositPrevote() bool { + if m != nil { + return m.BurnProposalDepositPrevote + } + return false +} + +func (m *Params) GetBurnVoteVeto() bool { + if m != nil { + return m.BurnVoteVeto + } + return false +} + func init() { proto.RegisterEnum("cosmos.gov.v1.VoteOption", VoteOption_name, VoteOption_value) proto.RegisterEnum("cosmos.gov.v1.ProposalStatus", ProposalStatus_name, ProposalStatus_value) @@ -911,90 +944,94 @@ func init() { func init() { proto.RegisterFile("cosmos/gov/v1/gov.proto", fileDescriptor_e05cb1c0d030febb) } var fileDescriptor_e05cb1c0d030febb = []byte{ - // 1328 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcd, 0x73, 0xd3, 0xc6, - 0x1b, 0x8e, 0xfc, 0x15, 0xfb, 0x75, 0x6c, 0xcc, 0x26, 0x10, 0x25, 0x80, 0x1d, 0x3c, 0xbf, 0x61, - 0xf2, 0xe3, 0xc3, 0x6e, 0xa0, 0xf4, 0x50, 0x3a, 0xd3, 0xb1, 0x63, 0x51, 0x94, 0x81, 0xd8, 0x23, - 0x1b, 0x07, 0x7a, 0xd1, 0x28, 0xd6, 0xe2, 0x68, 0x6a, 0x69, 0x5d, 0xed, 0xda, 0xc4, 0x7f, 0x42, - 0x6f, 0x1c, 0x7b, 0xea, 0xf4, 0xd8, 0x63, 0x0f, 0x4c, 0xcf, 0x3d, 0x72, 0xea, 0x30, 0x5c, 0xda, - 0x4b, 0xa1, 0x43, 0x0e, 0x9d, 0xe1, 0xaf, 0xe8, 0x68, 0xb5, 0xb2, 0x6c, 0xc7, 0x6d, 0x12, 0x2e, - 0x89, 0xf4, 0xbe, 0xcf, 0xf3, 0xec, 0xbb, 0xef, 0xc7, 0xae, 0x05, 0xab, 0x1d, 0x42, 0x6d, 0x42, - 0xcb, 0x5d, 0x32, 0x2c, 0x0f, 0xb7, 0xbc, 0x7f, 0xa5, 0xbe, 0x4b, 0x18, 0x41, 0x19, 0xdf, 0x51, - 0xf2, 0x2c, 0xc3, 0xad, 0xf5, 0xbc, 0xc0, 0xed, 0x1b, 0x14, 0x97, 0x87, 0x5b, 0xfb, 0x98, 0x19, - 0x5b, 0xe5, 0x0e, 0xb1, 0x1c, 0x1f, 0xbe, 0xbe, 0xd2, 0x25, 0x5d, 0xc2, 0x1f, 0xcb, 0xde, 0x93, - 0xb0, 0x16, 0xba, 0x84, 0x74, 0x7b, 0xb8, 0xcc, 0xdf, 0xf6, 0x07, 0xcf, 0xca, 0xcc, 0xb2, 0x31, - 0x65, 0x86, 0xdd, 0x17, 0x80, 0xb5, 0x59, 0x80, 0xe1, 0x8c, 0x84, 0x2b, 0x3f, 0xeb, 0x32, 0x07, - 0xae, 0xc1, 0x2c, 0x12, 0xac, 0xb8, 0xe6, 0x47, 0xa4, 0xfb, 0x8b, 0x8a, 0x68, 0x7d, 0xd7, 0x79, - 0xc3, 0xb6, 0x1c, 0x52, 0xe6, 0x7f, 0x7d, 0x53, 0x91, 0x00, 0xda, 0xc3, 0x56, 0xf7, 0x80, 0x61, - 0xb3, 0x4d, 0x18, 0xae, 0xf7, 0x3d, 0x25, 0xb4, 0x05, 0x09, 0xc2, 0x9f, 0x64, 0x69, 0x43, 0xda, - 0xcc, 0xde, 0x5e, 0x2b, 0x4d, 0xed, 0xba, 0x14, 0x42, 0x35, 0x01, 0x44, 0xd7, 0x20, 0xf1, 0x9c, - 0x0b, 0xc9, 0x91, 0x0d, 0x69, 0x33, 0x55, 0xcd, 0xbe, 0x79, 0x79, 0x0b, 0x04, 0xab, 0x86, 0x3b, - 0x9a, 0xf0, 0x16, 0x7f, 0x94, 0x60, 0xb1, 0x86, 0xfb, 0x84, 0x5a, 0x0c, 0x15, 0x20, 0xdd, 0x77, - 0x49, 0x9f, 0x50, 0xa3, 0xa7, 0x5b, 0x26, 0x5f, 0x2b, 0xa6, 0x41, 0x60, 0x52, 0x4d, 0xf4, 0x19, - 0xa4, 0x4c, 0x1f, 0x4b, 0x5c, 0xa1, 0x2b, 0xbf, 0x79, 0x79, 0x6b, 0x45, 0xe8, 0x56, 0x4c, 0xd3, - 0xc5, 0x94, 0x36, 0x99, 0x6b, 0x39, 0x5d, 0x2d, 0x84, 0xa2, 0x2f, 0x20, 0x61, 0xd8, 0x64, 0xe0, - 0x30, 0x39, 0xba, 0x11, 0xdd, 0x4c, 0x87, 0xf1, 0x7b, 0x65, 0x2a, 0x89, 0x32, 0x95, 0xb6, 0x89, - 0xe5, 0x54, 0x53, 0xaf, 0xde, 0x16, 0x16, 0x7e, 0xfa, 0xfb, 0xe7, 0xeb, 0x92, 0x26, 0x38, 0xc5, - 0x77, 0x71, 0x48, 0x36, 0x44, 0x10, 0x28, 0x0b, 0x91, 0x71, 0x68, 0x11, 0xcb, 0x44, 0x9f, 0x40, - 0xd2, 0xc6, 0x94, 0x1a, 0x5d, 0x4c, 0xe5, 0x08, 0x17, 0x5f, 0x29, 0xf9, 0x15, 0x29, 0x05, 0x15, - 0x29, 0x55, 0x9c, 0x91, 0x36, 0x46, 0xa1, 0xbb, 0x90, 0xa0, 0xcc, 0x60, 0x03, 0x2a, 0x47, 0x79, - 0x32, 0xaf, 0xcc, 0x24, 0x33, 0x58, 0xaa, 0xc9, 0x41, 0x9a, 0x00, 0xa3, 0x07, 0x80, 0x9e, 0x59, - 0x8e, 0xd1, 0xd3, 0x99, 0xd1, 0xeb, 0x8d, 0x74, 0x17, 0xd3, 0x41, 0x8f, 0xc9, 0xb1, 0x0d, 0x69, - 0x33, 0x7d, 0x7b, 0x7d, 0x46, 0xa2, 0xe5, 0x41, 0x34, 0x8e, 0xd0, 0x72, 0x9c, 0x35, 0x61, 0x41, - 0x15, 0x48, 0xd3, 0xc1, 0xbe, 0x6d, 0x31, 0xdd, 0x6b, 0x33, 0x39, 0x2e, 0x24, 0x66, 0xa3, 0x6e, - 0x05, 0x3d, 0x58, 0x8d, 0xbd, 0x78, 0x57, 0x90, 0x34, 0xf0, 0x49, 0x9e, 0x19, 0xed, 0x40, 0x4e, - 0x64, 0x57, 0xc7, 0x8e, 0xe9, 0xeb, 0x24, 0x4e, 0xa9, 0x93, 0x15, 0x4c, 0xc5, 0x31, 0xb9, 0x96, - 0x0a, 0x19, 0x46, 0x98, 0xd1, 0xd3, 0x85, 0x5d, 0x5e, 0x3c, 0x43, 0x8d, 0x96, 0x38, 0x35, 0x68, - 0xa0, 0x87, 0x70, 0x7e, 0x48, 0x98, 0xe5, 0x74, 0x75, 0xca, 0x0c, 0x57, 0xec, 0x2f, 0x79, 0xca, - 0xb8, 0xce, 0xf9, 0xd4, 0xa6, 0xc7, 0xe4, 0x81, 0x3d, 0x00, 0x61, 0x0a, 0xf7, 0x98, 0x3a, 0xa5, - 0x56, 0xc6, 0x27, 0x06, 0x5b, 0x5c, 0xf7, 0x9a, 0x84, 0x19, 0xa6, 0xc1, 0x0c, 0x19, 0xbc, 0xb6, - 0xd5, 0xc6, 0xef, 0x68, 0x05, 0xe2, 0xcc, 0x62, 0x3d, 0x2c, 0xa7, 0xb9, 0xc3, 0x7f, 0x41, 0x32, - 0x2c, 0xd2, 0x81, 0x6d, 0x1b, 0xee, 0x48, 0x5e, 0xe2, 0xf6, 0xe0, 0x15, 0x7d, 0x0a, 0x49, 0x7f, - 0x22, 0xb0, 0x2b, 0x67, 0x4e, 0x18, 0x81, 0x31, 0x12, 0x5d, 0x86, 0x14, 0x3e, 0xec, 0x63, 0xd3, - 0x62, 0xd8, 0x94, 0xb3, 0x1b, 0xd2, 0x66, 0x52, 0x0b, 0x0d, 0xc5, 0xdf, 0x25, 0x48, 0x4f, 0x76, - 0xc8, 0x0d, 0x48, 0x8d, 0x30, 0xd5, 0x3b, 0x7c, 0x64, 0xa4, 0x63, 0xf3, 0xab, 0x3a, 0x4c, 0x4b, - 0x8e, 0x30, 0xdd, 0xf6, 0xfc, 0xe8, 0x0e, 0x64, 0x8c, 0x7d, 0xca, 0x0c, 0xcb, 0x11, 0x84, 0xc8, - 0x5c, 0xc2, 0x92, 0x00, 0xf9, 0xa4, 0xff, 0x43, 0xd2, 0x21, 0x02, 0x1f, 0x9d, 0x8b, 0x5f, 0x74, - 0x88, 0x0f, 0xbd, 0x07, 0xc8, 0x21, 0xfa, 0x73, 0x8b, 0x1d, 0xe8, 0x43, 0xcc, 0x02, 0x52, 0x6c, - 0x2e, 0xe9, 0x9c, 0x43, 0xf6, 0x2c, 0x76, 0xd0, 0xc6, 0xcc, 0x27, 0x17, 0x7f, 0x91, 0x20, 0xe6, - 0x9d, 0x4e, 0x27, 0x9f, 0x2d, 0x25, 0x88, 0x0f, 0x09, 0xc3, 0x27, 0x9f, 0x2b, 0x3e, 0x0c, 0xdd, - 0x83, 0x45, 0xff, 0xa8, 0xa3, 0x72, 0x8c, 0x37, 0xec, 0xd5, 0x99, 0x21, 0x3c, 0x7e, 0x8e, 0x6a, - 0x01, 0x63, 0xaa, 0x21, 0xe2, 0xd3, 0x0d, 0xb1, 0x13, 0x4b, 0x46, 0x73, 0xb1, 0xe2, 0x9f, 0x12, - 0x64, 0x44, 0x5b, 0x37, 0x0c, 0xd7, 0xb0, 0x29, 0x7a, 0x0a, 0x69, 0xdb, 0x72, 0xc6, 0x53, 0x22, - 0x9d, 0x34, 0x25, 0x57, 0xbc, 0x29, 0xf9, 0xf0, 0xb6, 0x70, 0x61, 0x82, 0x75, 0x93, 0xd8, 0x16, - 0xc3, 0x76, 0x9f, 0x8d, 0x34, 0xb0, 0x2d, 0x27, 0x98, 0x1b, 0x1b, 0x90, 0x6d, 0x1c, 0x06, 0x20, - 0xbd, 0x8f, 0x5d, 0x8b, 0x98, 0x3c, 0x11, 0xde, 0x0a, 0xb3, 0xcd, 0x5e, 0x13, 0x17, 0x4c, 0xf5, - 0x7f, 0x1f, 0xde, 0x16, 0x2e, 0x1f, 0x27, 0x86, 0x8b, 0x7c, 0xef, 0xcd, 0x42, 0xce, 0x36, 0x0e, - 0x83, 0x9d, 0x70, 0xff, 0xe7, 0x11, 0x59, 0x2a, 0x3e, 0x81, 0xa5, 0x36, 0x9f, 0x11, 0xb1, 0xbb, - 0x1a, 0x88, 0x99, 0x09, 0x56, 0x97, 0x4e, 0x5a, 0x3d, 0xc6, 0xd5, 0x97, 0x7c, 0xd6, 0x84, 0xf2, - 0x0f, 0x41, 0x33, 0x0b, 0xe5, 0x6b, 0x90, 0xf8, 0x76, 0x40, 0xdc, 0x81, 0x3d, 0xa7, 0x93, 0xf9, - 0x4d, 0xe4, 0x7b, 0xd1, 0x4d, 0x48, 0xb1, 0x03, 0x17, 0xd3, 0x03, 0xd2, 0x33, 0xff, 0xe5, 0xd2, - 0x0a, 0x01, 0xe8, 0x2e, 0x64, 0x79, 0x37, 0x86, 0x94, 0xe8, 0x5c, 0x4a, 0xc6, 0x43, 0xb5, 0x02, - 0x10, 0x0f, 0xf0, 0xd7, 0x04, 0x24, 0x44, 0x6c, 0xca, 0x19, 0x6b, 0x3a, 0x71, 0xf2, 0x4d, 0xd6, - 0xef, 0xd1, 0xc7, 0xd5, 0x2f, 0x36, 0xbf, 0x3e, 0xc7, 0x6b, 0x11, 0xfd, 0x88, 0x5a, 0x4c, 0xe4, - 0x3d, 0x76, 0xfa, 0xbc, 0xc7, 0xcf, 0x9e, 0xf7, 0xc4, 0x29, 0xf2, 0x8e, 0x54, 0x58, 0xf3, 0x12, - 0x6d, 0x39, 0x16, 0xb3, 0xc2, 0xab, 0x46, 0xe7, 0xe1, 0xcb, 0x8b, 0x73, 0x15, 0x2e, 0xda, 0x96, - 0xa3, 0xfa, 0x78, 0x91, 0x1e, 0xcd, 0x43, 0xa3, 0x2a, 0x5c, 0x18, 0x9f, 0x24, 0x1d, 0xc3, 0xe9, - 0xe0, 0x9e, 0x90, 0x49, 0xce, 0x95, 0x59, 0x0e, 0xc0, 0xdb, 0x1c, 0xeb, 0x6b, 0xec, 0xc0, 0xca, - 0xac, 0x86, 0x89, 0x29, 0xe3, 0xf7, 0xcb, 0x7f, 0x9d, 0x3d, 0x68, 0x5a, 0xac, 0x86, 0x29, 0x43, - 0x7b, 0xb0, 0x3a, 0x3e, 0xc9, 0xf5, 0xe9, 0xba, 0xc1, 0xe9, 0xea, 0x76, 0x61, 0xcc, 0x6f, 0x4f, - 0x16, 0xf0, 0x4b, 0x58, 0x0e, 0x85, 0xc3, 0x7c, 0xa7, 0xe7, 0x6e, 0x13, 0x8d, 0xa1, 0x61, 0xd2, - 0x9f, 0x40, 0xa8, 0xac, 0x4f, 0xf6, 0xf9, 0xd2, 0x19, 0xfa, 0x3c, 0x8c, 0xe1, 0xd1, 0xb8, 0xe1, - 0xaf, 0x7f, 0x27, 0x01, 0x4c, 0xfc, 0x3e, 0xbd, 0x04, 0xab, 0xed, 0x7a, 0x4b, 0xd1, 0xeb, 0x8d, - 0x96, 0x5a, 0xdf, 0xd5, 0x1f, 0xef, 0x36, 0x1b, 0xca, 0xb6, 0x7a, 0x5f, 0x55, 0x6a, 0xb9, 0x05, - 0xb4, 0x0c, 0xe7, 0x26, 0x9d, 0x4f, 0x95, 0x66, 0x4e, 0x42, 0xab, 0xb0, 0x3c, 0x69, 0xac, 0x54, - 0x9b, 0xad, 0x8a, 0xba, 0x9b, 0x8b, 0x20, 0x04, 0xd9, 0x49, 0xc7, 0x6e, 0x3d, 0x17, 0x45, 0x97, - 0x41, 0x9e, 0xb6, 0xe9, 0x7b, 0x6a, 0xeb, 0x81, 0xde, 0x56, 0x5a, 0xf5, 0x5c, 0xec, 0xfa, 0x6f, - 0x12, 0x64, 0xa7, 0x7f, 0xb3, 0xa1, 0x02, 0x5c, 0x6a, 0x68, 0xf5, 0x46, 0xbd, 0x59, 0x79, 0xa8, - 0x37, 0x5b, 0x95, 0xd6, 0xe3, 0xe6, 0x4c, 0x4c, 0x45, 0xc8, 0xcf, 0x02, 0x6a, 0x4a, 0xa3, 0xde, - 0x54, 0x5b, 0x7a, 0x43, 0xd1, 0xd4, 0x7a, 0x2d, 0x27, 0xa1, 0xab, 0x70, 0x65, 0x16, 0xd3, 0xae, - 0xb7, 0xd4, 0xdd, 0xaf, 0x02, 0x48, 0x04, 0xad, 0xc3, 0xc5, 0x59, 0x48, 0xa3, 0xd2, 0x6c, 0x2a, - 0x35, 0x3f, 0xe8, 0x59, 0x9f, 0xa6, 0xec, 0x28, 0xdb, 0x2d, 0xa5, 0x96, 0x8b, 0xcd, 0x63, 0xde, - 0xaf, 0xa8, 0x0f, 0x95, 0x5a, 0x2e, 0x5e, 0x55, 0x5e, 0xbd, 0xcf, 0x4b, 0xaf, 0xdf, 0xe7, 0xa5, - 0xbf, 0xde, 0xe7, 0xa5, 0x17, 0x47, 0xf9, 0x85, 0xd7, 0x47, 0xf9, 0x85, 0x3f, 0x8e, 0xf2, 0x0b, - 0x5f, 0xdf, 0xe8, 0x5a, 0xec, 0x60, 0xb0, 0x5f, 0xea, 0x10, 0x5b, 0x7c, 0x49, 0x88, 0x7f, 0xb7, - 0xa8, 0xf9, 0x4d, 0xf9, 0x90, 0x7f, 0x1d, 0xb1, 0x51, 0x1f, 0x53, 0xef, 0xd3, 0x27, 0xc1, 0xdb, - 0xed, 0xce, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x77, 0xd5, 0x45, 0x3f, 0x3b, 0x0d, 0x00, 0x00, + // 1389 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcb, 0x6e, 0xdb, 0x46, + 0x17, 0x36, 0x75, 0xd7, 0xd1, 0xc5, 0xca, 0xd8, 0x89, 0x69, 0x27, 0x96, 0x1c, 0x21, 0x08, 0xfc, + 0xe7, 0x22, 0xfd, 0x4e, 0x9a, 0x2e, 0x9a, 0x02, 0x85, 0x64, 0x31, 0x0d, 0x8d, 0xc4, 0x52, 0x29, + 0x45, 0x4e, 0xba, 0x21, 0x28, 0x71, 0x22, 0x13, 0x15, 0x39, 0x2a, 0x39, 0x52, 0xac, 0x47, 0xe8, + 0x2e, 0xcb, 0xae, 0x8a, 0x2e, 0xbb, 0xec, 0x22, 0xe8, 0x33, 0x64, 0x55, 0x04, 0xe9, 0xa2, 0xdd, + 0x34, 0x29, 0x92, 0x45, 0x81, 0x3c, 0x45, 0xc1, 0xe1, 0x50, 0x94, 0x64, 0xb5, 0xb6, 0xb3, 0xb1, + 0xc5, 0x73, 0xbe, 0xef, 0x9b, 0x33, 0xe7, 0x32, 0x43, 0xc2, 0x5a, 0x97, 0x38, 0x26, 0x71, 0xca, + 0x3d, 0x32, 0x2a, 0x8f, 0x76, 0xdc, 0x7f, 0xa5, 0x81, 0x4d, 0x28, 0x41, 0x19, 0xcf, 0x51, 0x72, + 0x2d, 0xa3, 0x9d, 0x8d, 0x3c, 0xc7, 0x75, 0x34, 0x07, 0x97, 0x47, 0x3b, 0x1d, 0x4c, 0xb5, 0x9d, + 0x72, 0x97, 0x18, 0x96, 0x07, 0xdf, 0x58, 0xed, 0x91, 0x1e, 0x61, 0x3f, 0xcb, 0xee, 0x2f, 0x6e, + 0x2d, 0xf4, 0x08, 0xe9, 0xf5, 0x71, 0x99, 0x3d, 0x75, 0x86, 0x4f, 0xcb, 0xd4, 0x30, 0xb1, 0x43, + 0x35, 0x73, 0xc0, 0x01, 0xeb, 0xf3, 0x00, 0xcd, 0x1a, 0x73, 0x57, 0x7e, 0xde, 0xa5, 0x0f, 0x6d, + 0x8d, 0x1a, 0xc4, 0x5f, 0x71, 0xdd, 0x8b, 0x48, 0xf5, 0x16, 0xe5, 0xd1, 0x7a, 0xae, 0x73, 0x9a, + 0x69, 0x58, 0xa4, 0xcc, 0xfe, 0x7a, 0xa6, 0x22, 0x01, 0x74, 0x80, 0x8d, 0xde, 0x21, 0xc5, 0x7a, + 0x9b, 0x50, 0x5c, 0x1f, 0xb8, 0x4a, 0x68, 0x07, 0x62, 0x84, 0xfd, 0x12, 0x85, 0x2d, 0x61, 0x3b, + 0x7b, 0x6b, 0xbd, 0x34, 0xb3, 0xeb, 0x52, 0x00, 0x55, 0x38, 0x10, 0x5d, 0x85, 0xd8, 0x33, 0x26, + 0x24, 0x86, 0xb6, 0x84, 0xed, 0x64, 0x35, 0xfb, 0xfa, 0xc5, 0x4d, 0xe0, 0xac, 0x1a, 0xee, 0x2a, + 0xdc, 0x5b, 0xfc, 0x51, 0x80, 0x78, 0x0d, 0x0f, 0x88, 0x63, 0x50, 0x54, 0x80, 0xd4, 0xc0, 0x26, + 0x03, 0xe2, 0x68, 0x7d, 0xd5, 0xd0, 0xd9, 0x5a, 0x11, 0x05, 0x7c, 0x93, 0xac, 0xa3, 0x4f, 0x21, + 0xa9, 0x7b, 0x58, 0x62, 0x73, 0x5d, 0xf1, 0xf5, 0x8b, 0x9b, 0xab, 0x5c, 0xb7, 0xa2, 0xeb, 0x36, + 0x76, 0x9c, 0x26, 0xb5, 0x0d, 0xab, 0xa7, 0x04, 0x50, 0xf4, 0x39, 0xc4, 0x34, 0x93, 0x0c, 0x2d, + 0x2a, 0x86, 0xb7, 0xc2, 0xdb, 0xa9, 0x20, 0x7e, 0xb7, 0x4c, 0x25, 0x5e, 0xa6, 0xd2, 0x2e, 0x31, + 0xac, 0x6a, 0xf2, 0xe5, 0x9b, 0xc2, 0xd2, 0x4f, 0x7f, 0xff, 0x7c, 0x4d, 0x50, 0x38, 0xa7, 0xf8, + 0x36, 0x0a, 0x89, 0x06, 0x0f, 0x02, 0x65, 0x21, 0x34, 0x09, 0x2d, 0x64, 0xe8, 0xe8, 0xff, 0x90, + 0x30, 0xb1, 0xe3, 0x68, 0x3d, 0xec, 0x88, 0x21, 0x26, 0xbe, 0x5a, 0xf2, 0x2a, 0x52, 0xf2, 0x2b, + 0x52, 0xaa, 0x58, 0x63, 0x65, 0x82, 0x42, 0x77, 0x20, 0xe6, 0x50, 0x8d, 0x0e, 0x1d, 0x31, 0xcc, + 0x92, 0xb9, 0x39, 0x97, 0x4c, 0x7f, 0xa9, 0x26, 0x03, 0x29, 0x1c, 0x8c, 0xee, 0x03, 0x7a, 0x6a, + 0x58, 0x5a, 0x5f, 0xa5, 0x5a, 0xbf, 0x3f, 0x56, 0x6d, 0xec, 0x0c, 0xfb, 0x54, 0x8c, 0x6c, 0x09, + 0xdb, 0xa9, 0x5b, 0x1b, 0x73, 0x12, 0x2d, 0x17, 0xa2, 0x30, 0x84, 0x92, 0x63, 0xac, 0x29, 0x0b, + 0xaa, 0x40, 0xca, 0x19, 0x76, 0x4c, 0x83, 0xaa, 0x6e, 0x9b, 0x89, 0x51, 0x2e, 0x31, 0x1f, 0x75, + 0xcb, 0xef, 0xc1, 0x6a, 0xe4, 0xf9, 0xdb, 0x82, 0xa0, 0x80, 0x47, 0x72, 0xcd, 0x68, 0x0f, 0x72, + 0x3c, 0xbb, 0x2a, 0xb6, 0x74, 0x4f, 0x27, 0x76, 0x4a, 0x9d, 0x2c, 0x67, 0x4a, 0x96, 0xce, 0xb4, + 0x64, 0xc8, 0x50, 0x42, 0xb5, 0xbe, 0xca, 0xed, 0x62, 0xfc, 0x0c, 0x35, 0x4a, 0x33, 0xaa, 0xdf, + 0x40, 0x0f, 0xe0, 0xdc, 0x88, 0x50, 0xc3, 0xea, 0xa9, 0x0e, 0xd5, 0x6c, 0xbe, 0xbf, 0xc4, 0x29, + 0xe3, 0x5a, 0xf6, 0xa8, 0x4d, 0x97, 0xc9, 0x02, 0xbb, 0x0f, 0xdc, 0x14, 0xec, 0x31, 0x79, 0x4a, + 0xad, 0x8c, 0x47, 0xf4, 0xb7, 0xb8, 0xe1, 0x36, 0x09, 0xd5, 0x74, 0x8d, 0x6a, 0x22, 0xb8, 0x6d, + 0xab, 0x4c, 0x9e, 0xd1, 0x2a, 0x44, 0xa9, 0x41, 0xfb, 0x58, 0x4c, 0x31, 0x87, 0xf7, 0x80, 0x44, + 0x88, 0x3b, 0x43, 0xd3, 0xd4, 0xec, 0xb1, 0x98, 0x66, 0x76, 0xff, 0x11, 0x7d, 0x02, 0x09, 0x6f, + 0x22, 0xb0, 0x2d, 0x66, 0x4e, 0x18, 0x81, 0x09, 0x12, 0x5d, 0x82, 0x24, 0x3e, 0x1a, 0x60, 0xdd, + 0xa0, 0x58, 0x17, 0xb3, 0x5b, 0xc2, 0x76, 0x42, 0x09, 0x0c, 0xc5, 0xdf, 0x05, 0x48, 0x4d, 0x77, + 0xc8, 0x75, 0x48, 0x8e, 0xb1, 0xa3, 0x76, 0xd9, 0xc8, 0x08, 0xc7, 0xe6, 0x57, 0xb6, 0xa8, 0x92, + 0x18, 0x63, 0x67, 0xd7, 0xf5, 0xa3, 0xdb, 0x90, 0xd1, 0x3a, 0x0e, 0xd5, 0x0c, 0x8b, 0x13, 0x42, + 0x0b, 0x09, 0x69, 0x0e, 0xf2, 0x48, 0xff, 0x83, 0x84, 0x45, 0x38, 0x3e, 0xbc, 0x10, 0x1f, 0xb7, + 0x88, 0x07, 0xbd, 0x0b, 0xc8, 0x22, 0xea, 0x33, 0x83, 0x1e, 0xaa, 0x23, 0x4c, 0x7d, 0x52, 0x64, + 0x21, 0x69, 0xd9, 0x22, 0x07, 0x06, 0x3d, 0x6c, 0x63, 0xea, 0x91, 0x8b, 0xbf, 0x08, 0x10, 0x71, + 0x4f, 0xa7, 0x93, 0xcf, 0x96, 0x12, 0x44, 0x47, 0x84, 0xe2, 0x93, 0xcf, 0x15, 0x0f, 0x86, 0xee, + 0x42, 0xdc, 0x3b, 0xea, 0x1c, 0x31, 0xc2, 0x1a, 0xf6, 0xf2, 0xdc, 0x10, 0x1e, 0x3f, 0x47, 0x15, + 0x9f, 0x31, 0xd3, 0x10, 0xd1, 0xd9, 0x86, 0xd8, 0x8b, 0x24, 0xc2, 0xb9, 0x48, 0xf1, 0x4f, 0x01, + 0x32, 0xbc, 0xad, 0x1b, 0x9a, 0xad, 0x99, 0x0e, 0x7a, 0x02, 0x29, 0xd3, 0xb0, 0x26, 0x53, 0x22, + 0x9c, 0x34, 0x25, 0x9b, 0xee, 0x94, 0x7c, 0x78, 0x53, 0x38, 0x3f, 0xc5, 0xba, 0x41, 0x4c, 0x83, + 0x62, 0x73, 0x40, 0xc7, 0x0a, 0x98, 0x86, 0xe5, 0xcf, 0x8d, 0x09, 0xc8, 0xd4, 0x8e, 0x7c, 0x90, + 0x3a, 0xc0, 0xb6, 0x41, 0x74, 0x96, 0x08, 0x77, 0x85, 0xf9, 0x66, 0xaf, 0xf1, 0x0b, 0xa6, 0x7a, + 0xe5, 0xc3, 0x9b, 0xc2, 0xa5, 0xe3, 0xc4, 0x60, 0x91, 0xef, 0xdd, 0x59, 0xc8, 0x99, 0xda, 0x91, + 0xbf, 0x13, 0xe6, 0xff, 0x2c, 0x24, 0x0a, 0xc5, 0xc7, 0x90, 0x6e, 0xb3, 0x19, 0xe1, 0xbb, 0xab, + 0x01, 0x9f, 0x19, 0x7f, 0x75, 0xe1, 0xa4, 0xd5, 0x23, 0x4c, 0x3d, 0xed, 0xb1, 0xa6, 0x94, 0x7f, + 0xf0, 0x9b, 0x99, 0x2b, 0x5f, 0x85, 0xd8, 0xb7, 0x43, 0x62, 0x0f, 0xcd, 0x05, 0x9d, 0xcc, 0x6e, + 0x22, 0xcf, 0x8b, 0x6e, 0x40, 0x92, 0x1e, 0xda, 0xd8, 0x39, 0x24, 0x7d, 0xfd, 0x5f, 0x2e, 0xad, + 0x00, 0x80, 0xee, 0x40, 0x96, 0x75, 0x63, 0x40, 0x09, 0x2f, 0xa4, 0x64, 0x5c, 0x54, 0xcb, 0x07, + 0xb1, 0x00, 0x7f, 0x8b, 0x43, 0x8c, 0xc7, 0x26, 0x9d, 0xb1, 0xa6, 0x53, 0x27, 0xdf, 0x74, 0xfd, + 0x1e, 0x7e, 0x5c, 0xfd, 0x22, 0x8b, 0xeb, 0x73, 0xbc, 0x16, 0xe1, 0x8f, 0xa8, 0xc5, 0x54, 0xde, + 0x23, 0xa7, 0xcf, 0x7b, 0xf4, 0xec, 0x79, 0x8f, 0x9d, 0x22, 0xef, 0x48, 0x86, 0x75, 0x37, 0xd1, + 0x86, 0x65, 0x50, 0x23, 0xb8, 0x6a, 0x54, 0x16, 0xbe, 0x18, 0x5f, 0xa8, 0x70, 0xc1, 0x34, 0x2c, + 0xd9, 0xc3, 0xf3, 0xf4, 0x28, 0x2e, 0x1a, 0x55, 0xe1, 0xfc, 0xe4, 0x24, 0xe9, 0x6a, 0x56, 0x17, + 0xf7, 0xb9, 0x4c, 0x62, 0xa1, 0xcc, 0x8a, 0x0f, 0xde, 0x65, 0x58, 0x4f, 0x63, 0x0f, 0x56, 0xe7, + 0x35, 0x74, 0xec, 0x50, 0x76, 0xbf, 0xfc, 0xd7, 0xd9, 0x83, 0x66, 0xc5, 0x6a, 0xd8, 0xa1, 0xe8, + 0x00, 0xd6, 0x26, 0x27, 0xb9, 0x3a, 0x5b, 0x37, 0x38, 0x5d, 0xdd, 0xce, 0x4f, 0xf8, 0xed, 0xe9, + 0x02, 0x7e, 0x01, 0x2b, 0x81, 0x70, 0x90, 0xef, 0xd4, 0xc2, 0x6d, 0xa2, 0x09, 0x34, 0x48, 0xfa, + 0x63, 0x08, 0x94, 0xd5, 0xe9, 0x3e, 0x4f, 0x9f, 0xa1, 0xcf, 0x83, 0x18, 0x1e, 0x06, 0x0d, 0xbf, + 0x0d, 0xb9, 0xce, 0xd0, 0xb6, 0xdc, 0xed, 0x62, 0x95, 0x77, 0x59, 0x86, 0xdd, 0x6a, 0x59, 0xd7, + 0xee, 0x1e, 0xb9, 0x5f, 0x79, 0xdd, 0x55, 0x81, 0x4d, 0x86, 0x9c, 0xa4, 0x7b, 0x32, 0x24, 0x36, + 0x76, 0xd9, 0xfc, 0x32, 0xdc, 0x70, 0x41, 0xfe, 0x9b, 0x97, 0x3f, 0x0d, 0x1e, 0x02, 0x5d, 0x81, + 0x6c, 0xb0, 0x98, 0xdb, 0x56, 0xe2, 0x32, 0xe3, 0xa4, 0xfd, 0xa5, 0xdc, 0xeb, 0xe6, 0xda, 0x77, + 0x02, 0xc0, 0xd4, 0x2b, 0xf3, 0x45, 0x58, 0x6b, 0xd7, 0x5b, 0x92, 0x5a, 0x6f, 0xb4, 0xe4, 0xfa, + 0xbe, 0xfa, 0x68, 0xbf, 0xd9, 0x90, 0x76, 0xe5, 0x7b, 0xb2, 0x54, 0xcb, 0x2d, 0xa1, 0x15, 0x58, + 0x9e, 0x76, 0x3e, 0x91, 0x9a, 0x39, 0x01, 0xad, 0xc1, 0xca, 0xb4, 0xb1, 0x52, 0x6d, 0xb6, 0x2a, + 0xf2, 0x7e, 0x2e, 0x84, 0x10, 0x64, 0xa7, 0x1d, 0xfb, 0xf5, 0x5c, 0x18, 0x5d, 0x02, 0x71, 0xd6, + 0xa6, 0x1e, 0xc8, 0xad, 0xfb, 0x6a, 0x5b, 0x6a, 0xd5, 0x73, 0x91, 0x6b, 0xbf, 0x0a, 0x90, 0x9d, + 0x7d, 0x8d, 0x44, 0x05, 0xb8, 0xd8, 0x50, 0xea, 0x8d, 0x7a, 0xb3, 0xf2, 0x40, 0x6d, 0xb6, 0x2a, + 0xad, 0x47, 0xcd, 0xb9, 0x98, 0x8a, 0x90, 0x9f, 0x07, 0xd4, 0xa4, 0x46, 0xbd, 0x29, 0xb7, 0xd4, + 0x86, 0xa4, 0xc8, 0xf5, 0x5a, 0x4e, 0x40, 0x97, 0x61, 0x73, 0x1e, 0xd3, 0xae, 0xb7, 0xe4, 0xfd, + 0x2f, 0x7d, 0x48, 0x08, 0x6d, 0xc0, 0x85, 0x79, 0x48, 0xa3, 0xd2, 0x6c, 0x4a, 0x35, 0x2f, 0xe8, + 0x79, 0x9f, 0x22, 0xed, 0x49, 0xbb, 0x2d, 0xa9, 0x96, 0x8b, 0x2c, 0x62, 0xde, 0xab, 0xc8, 0x0f, + 0xa4, 0x5a, 0x2e, 0x5a, 0x95, 0x5e, 0xbe, 0xcb, 0x0b, 0xaf, 0xde, 0xe5, 0x85, 0xbf, 0xde, 0xe5, + 0x85, 0xe7, 0xef, 0xf3, 0x4b, 0xaf, 0xde, 0xe7, 0x97, 0xfe, 0x78, 0x9f, 0x5f, 0xfa, 0xfa, 0x7a, + 0xcf, 0xa0, 0x87, 0xc3, 0x4e, 0xa9, 0x4b, 0x4c, 0xfe, 0x71, 0xc3, 0xff, 0xdd, 0x74, 0xf4, 0x6f, + 0xca, 0x47, 0xec, 0x83, 0x8d, 0x8e, 0x07, 0xd8, 0x71, 0xbf, 0xc6, 0x62, 0x6c, 0x02, 0x6e, 0xff, + 0x13, 0x00, 0x00, 0xff, 0xff, 0xba, 0xe0, 0x97, 0xe3, 0xce, 0x0d, 0x00, 0x00, } func (m *WeightedVoteOption) Marshal() (dAtA []byte, err error) { @@ -1483,6 +1520,36 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.BurnVoteVeto { + i-- + if m.BurnVoteVeto { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x78 + } + if m.BurnProposalDepositPrevote { + i-- + if m.BurnProposalDepositPrevote { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x70 + } + if m.BurnVoteQuorum { + i-- + if m.BurnVoteQuorum { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x68 + } if len(m.ExpeditedMinDeposit) > 0 { for iNdEx := len(m.ExpeditedMinDeposit) - 1; iNdEx >= 0; iNdEx-- { { @@ -1870,6 +1937,15 @@ func (m *Params) Size() (n int) { n += 1 + l + sovGov(uint64(l)) } } + if m.BurnVoteQuorum { + n += 2 + } + if m.BurnProposalDepositPrevote { + n += 2 + } + if m.BurnVoteVeto { + n += 2 + } return n } @@ -3725,6 +3801,66 @@ func (m *Params) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BurnVoteQuorum", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGov + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.BurnVoteQuorum = bool(v != 0) + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BurnProposalDepositPrevote", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGov + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.BurnProposalDepositPrevote = bool(v != 0) + case 15: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BurnVoteVeto", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGov + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.BurnVoteVeto = bool(v != 0) default: iNdEx = preIndex skippy, err := skipGov(dAtA[iNdEx:]) diff --git a/x/gov/types/v1/params.go b/x/gov/types/v1/params.go index bd2a652ec108..fbf2faef16d5 100644 --- a/x/gov/types/v1/params.go +++ b/x/gov/types/v1/params.go @@ -27,6 +27,9 @@ var ( DefaultMinInitialDepositRatio = sdk.ZeroDec() DefaultProposalCancelRatio = sdk.MustNewDecFromStr("0.5") DefaultProposalCancelDestAddress = "" + DefaultBurnProposalPrevote = false // set to false to replicate behavior of when this change was made (0.47) + DefaultBurnVoteQuorom = false // set to false to replicate behavior of when this change was made (0.47) + DefaultBurnVoteVeto = true // set to true to replicate behavior of when this change was made (0.47) ) // Deprecated: NewDepositParams creates a new DepositParams object @@ -56,21 +59,24 @@ func NewVotingParams(votingPeriod *time.Duration) VotingParams { // NewParams creates a new Params instance with given values. func NewParams( minDeposit, expeditedminDeposit sdk.Coins, maxDepositPeriod, votingPeriod, expeditedVotingPeriod time.Duration, - quorum, threshold, expeditedThreshold, vetoThreshold, minInitialDepositRatio, proposalCancelRatio, proposalCancelDest string, + quorum, threshold, expeditedThreshold, vetoThreshold, minInitialDepositRatio, proposalCancelRatio, proposalCancelDest string, burnProposalDeposit, burnVoteQuorum, burnVoteVeto bool, ) Params { return Params{ - MinDeposit: minDeposit, - ExpeditedMinDeposit: expeditedminDeposit, - MaxDepositPeriod: &maxDepositPeriod, - VotingPeriod: &votingPeriod, - ExpeditedVotingPeriod: &expeditedVotingPeriod, - Quorum: quorum, - Threshold: threshold, - ExpeditedThreshold: expeditedThreshold, - VetoThreshold: vetoThreshold, - MinInitialDepositRatio: minInitialDepositRatio, - ProposalCancelRatio: proposalCancelRatio, - ProposalCancelDest: proposalCancelDest, + MinDeposit: minDeposit, + ExpeditedMinDeposit: expeditedminDeposit, + MaxDepositPeriod: &maxDepositPeriod, + VotingPeriod: &votingPeriod, + ExpeditedVotingPeriod: &expeditedVotingPeriod, + Quorum: quorum, + Threshold: threshold, + ExpeditedThreshold: expeditedThreshold, + VetoThreshold: vetoThreshold, + MinInitialDepositRatio: minInitialDepositRatio, + ProposalCancelRatio: proposalCancelRatio, + ProposalCancelDest: proposalCancelDest, + BurnProposalDepositPrevote: burnProposalDeposit, + BurnVoteQuorum: burnVoteQuorum, + BurnVoteVeto: burnVoteVeto, } } @@ -89,6 +95,9 @@ func DefaultParams() Params { DefaultMinInitialDepositRatio.String(), DefaultProposalCancelRatio.String(), DefaultProposalCancelDestAddress, + DefaultBurnProposalPrevote, + DefaultBurnVoteQuorom, + DefaultBurnVoteVeto, ) }