feat: Add metadata field to Vote in x/gov (#11308)
## Description Closes: #11268 Add metadata to Vote in x/gov using the existing maxMetadataLen constraint. --- ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] added `!` to the type prefix if API or client breaking change - [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting)) - [ ] provided a link to the relevant issue or specification - [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules) - [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing) - [ ] added a changelog entry to `CHANGELOG.md` - [ ] included comments for [documenting Go code](https://blog.golang.org/godoc) - [ ] updated the relevant documentation or specification - [ ] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed state machine logic - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable)
This commit is contained in:
parent
8296ad9592
commit
918330bcf7
|
@ -39,6 +39,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
|
* [\#11308](https://github.com/cosmos/cosmos-sdk/pull/11308) Added a mandatory metadata field to Vote in x/gov v1beta2.
|
||||||
* [\#10977](https://github.com/cosmos/cosmos-sdk/pull/10977) Now every cosmos message protobuf definition must be extended with a ``cosmos.msg.v1.signer`` option to signal the signer fields in a language agnostic way.
|
* [\#10977](https://github.com/cosmos/cosmos-sdk/pull/10977) Now every cosmos message protobuf definition must be extended with a ``cosmos.msg.v1.signer`` option to signal the signer fields in a language agnostic way.
|
||||||
* [\#10710](https://github.com/cosmos/cosmos-sdk/pull/10710) Chain-id shouldn't be required for creating a transaction with both --generate-only and --offline flags.
|
* [\#10710](https://github.com/cosmos/cosmos-sdk/pull/10710) Chain-id shouldn't be required for creating a transaction with both --generate-only and --offline flags.
|
||||||
* [\#10703](https://github.com/cosmos/cosmos-sdk/pull/10703) Create a new grantee account, if the grantee of an authorization does not exist.
|
* [\#10703](https://github.com/cosmos/cosmos-sdk/pull/10703) Create a new grantee account, if the grantee of an authorization does not exist.
|
||||||
|
|
|
@ -2947,6 +2947,7 @@ var (
|
||||||
fd_Vote_proposal_id protoreflect.FieldDescriptor
|
fd_Vote_proposal_id protoreflect.FieldDescriptor
|
||||||
fd_Vote_voter protoreflect.FieldDescriptor
|
fd_Vote_voter protoreflect.FieldDescriptor
|
||||||
fd_Vote_options protoreflect.FieldDescriptor
|
fd_Vote_options protoreflect.FieldDescriptor
|
||||||
|
fd_Vote_metadata protoreflect.FieldDescriptor
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
@ -2955,6 +2956,7 @@ func init() {
|
||||||
fd_Vote_proposal_id = md_Vote.Fields().ByName("proposal_id")
|
fd_Vote_proposal_id = md_Vote.Fields().ByName("proposal_id")
|
||||||
fd_Vote_voter = md_Vote.Fields().ByName("voter")
|
fd_Vote_voter = md_Vote.Fields().ByName("voter")
|
||||||
fd_Vote_options = md_Vote.Fields().ByName("options")
|
fd_Vote_options = md_Vote.Fields().ByName("options")
|
||||||
|
fd_Vote_metadata = md_Vote.Fields().ByName("metadata")
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ protoreflect.Message = (*fastReflection_Vote)(nil)
|
var _ protoreflect.Message = (*fastReflection_Vote)(nil)
|
||||||
|
@ -3040,6 +3042,12 @@ func (x *fastReflection_Vote) Range(f func(protoreflect.FieldDescriptor, protore
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if x.Metadata != "" {
|
||||||
|
value := protoreflect.ValueOfString(x.Metadata)
|
||||||
|
if !f(fd_Vote_metadata, value) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Has reports whether a field is populated.
|
// Has reports whether a field is populated.
|
||||||
|
@ -3061,6 +3069,8 @@ func (x *fastReflection_Vote) Has(fd protoreflect.FieldDescriptor) bool {
|
||||||
return x.Voter != ""
|
return x.Voter != ""
|
||||||
case "cosmos.gov.v1beta2.Vote.options":
|
case "cosmos.gov.v1beta2.Vote.options":
|
||||||
return len(x.Options) != 0
|
return len(x.Options) != 0
|
||||||
|
case "cosmos.gov.v1beta2.Vote.metadata":
|
||||||
|
return x.Metadata != ""
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.Vote"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.Vote"))
|
||||||
|
@ -3083,6 +3093,8 @@ func (x *fastReflection_Vote) Clear(fd protoreflect.FieldDescriptor) {
|
||||||
x.Voter = ""
|
x.Voter = ""
|
||||||
case "cosmos.gov.v1beta2.Vote.options":
|
case "cosmos.gov.v1beta2.Vote.options":
|
||||||
x.Options = nil
|
x.Options = nil
|
||||||
|
case "cosmos.gov.v1beta2.Vote.metadata":
|
||||||
|
x.Metadata = ""
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.Vote"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.Vote"))
|
||||||
|
@ -3111,6 +3123,9 @@ func (x *fastReflection_Vote) Get(descriptor protoreflect.FieldDescriptor) proto
|
||||||
}
|
}
|
||||||
listValue := &_Vote_4_list{list: &x.Options}
|
listValue := &_Vote_4_list{list: &x.Options}
|
||||||
return protoreflect.ValueOfList(listValue)
|
return protoreflect.ValueOfList(listValue)
|
||||||
|
case "cosmos.gov.v1beta2.Vote.metadata":
|
||||||
|
value := x.Metadata
|
||||||
|
return protoreflect.ValueOfString(value)
|
||||||
default:
|
default:
|
||||||
if descriptor.IsExtension() {
|
if descriptor.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.Vote"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.Vote"))
|
||||||
|
@ -3139,6 +3154,8 @@ func (x *fastReflection_Vote) Set(fd protoreflect.FieldDescriptor, value protore
|
||||||
lv := value.List()
|
lv := value.List()
|
||||||
clv := lv.(*_Vote_4_list)
|
clv := lv.(*_Vote_4_list)
|
||||||
x.Options = *clv.list
|
x.Options = *clv.list
|
||||||
|
case "cosmos.gov.v1beta2.Vote.metadata":
|
||||||
|
x.Metadata = value.Interface().(string)
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.Vote"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.Vote"))
|
||||||
|
@ -3169,6 +3186,8 @@ func (x *fastReflection_Vote) Mutable(fd protoreflect.FieldDescriptor) protorefl
|
||||||
panic(fmt.Errorf("field proposal_id of message cosmos.gov.v1beta2.Vote is not mutable"))
|
panic(fmt.Errorf("field proposal_id of message cosmos.gov.v1beta2.Vote is not mutable"))
|
||||||
case "cosmos.gov.v1beta2.Vote.voter":
|
case "cosmos.gov.v1beta2.Vote.voter":
|
||||||
panic(fmt.Errorf("field voter of message cosmos.gov.v1beta2.Vote is not mutable"))
|
panic(fmt.Errorf("field voter of message cosmos.gov.v1beta2.Vote is not mutable"))
|
||||||
|
case "cosmos.gov.v1beta2.Vote.metadata":
|
||||||
|
panic(fmt.Errorf("field metadata of message cosmos.gov.v1beta2.Vote is not mutable"))
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.Vote"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.Vote"))
|
||||||
|
@ -3189,6 +3208,8 @@ func (x *fastReflection_Vote) NewField(fd protoreflect.FieldDescriptor) protoref
|
||||||
case "cosmos.gov.v1beta2.Vote.options":
|
case "cosmos.gov.v1beta2.Vote.options":
|
||||||
list := []*WeightedVoteOption{}
|
list := []*WeightedVoteOption{}
|
||||||
return protoreflect.ValueOfList(&_Vote_4_list{list: &list})
|
return protoreflect.ValueOfList(&_Vote_4_list{list: &list})
|
||||||
|
case "cosmos.gov.v1beta2.Vote.metadata":
|
||||||
|
return protoreflect.ValueOfString("")
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.Vote"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.Vote"))
|
||||||
|
@ -3271,6 +3292,10 @@ func (x *fastReflection_Vote) ProtoMethods() *protoiface.Methods {
|
||||||
n += 1 + l + runtime.Sov(uint64(l))
|
n += 1 + l + runtime.Sov(uint64(l))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
l = len(x.Metadata)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + runtime.Sov(uint64(l))
|
||||||
|
}
|
||||||
if x.unknownFields != nil {
|
if x.unknownFields != nil {
|
||||||
n += len(x.unknownFields)
|
n += len(x.unknownFields)
|
||||||
}
|
}
|
||||||
|
@ -3300,6 +3325,13 @@ func (x *fastReflection_Vote) ProtoMethods() *protoiface.Methods {
|
||||||
i -= len(x.unknownFields)
|
i -= len(x.unknownFields)
|
||||||
copy(dAtA[i:], x.unknownFields)
|
copy(dAtA[i:], x.unknownFields)
|
||||||
}
|
}
|
||||||
|
if len(x.Metadata) > 0 {
|
||||||
|
i -= len(x.Metadata)
|
||||||
|
copy(dAtA[i:], x.Metadata)
|
||||||
|
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Metadata)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x2a
|
||||||
|
}
|
||||||
if len(x.Options) > 0 {
|
if len(x.Options) > 0 {
|
||||||
for iNdEx := len(x.Options) - 1; iNdEx >= 0; iNdEx-- {
|
for iNdEx := len(x.Options) - 1; iNdEx >= 0; iNdEx-- {
|
||||||
encoded, err := options.Marshal(x.Options[iNdEx])
|
encoded, err := options.Marshal(x.Options[iNdEx])
|
||||||
|
@ -3462,6 +3494,38 @@ func (x *fastReflection_Vote) ProtoMethods() *protoiface.Methods {
|
||||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 5:
|
||||||
|
if wireType != 2 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
stringLen |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
intStringLen := int(stringLen)
|
||||||
|
if intStringLen < 0 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
x.Metadata = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := runtime.Skip(dAtA[iNdEx:])
|
skippy, err := runtime.Skip(dAtA[iNdEx:])
|
||||||
|
@ -5478,6 +5542,8 @@ type Vote struct {
|
||||||
ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"`
|
ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"`
|
||||||
Voter string `protobuf:"bytes,2,opt,name=voter,proto3" json:"voter,omitempty"`
|
Voter string `protobuf:"bytes,2,opt,name=voter,proto3" json:"voter,omitempty"`
|
||||||
Options []*WeightedVoteOption `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"`
|
Options []*WeightedVoteOption `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"`
|
||||||
|
// metadata is any arbitrary metadata to attached to the vote.
|
||||||
|
Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Vote) Reset() {
|
func (x *Vote) Reset() {
|
||||||
|
@ -5521,6 +5587,13 @@ func (x *Vote) GetOptions() []*WeightedVoteOption {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *Vote) GetMetadata() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Metadata
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
// DepositParams defines the params for deposits on governance proposals.
|
// DepositParams defines the params for deposits on governance proposals.
|
||||||
type DepositParams struct {
|
type DepositParams struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
|
@ -5748,7 +5821,7 @@ var file_cosmos_gov_v1beta2_gov_proto_rawDesc = []byte{
|
||||||
0x65, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42,
|
0x65, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42,
|
||||||
0x0e, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52,
|
0x0e, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52,
|
||||||
0x0f, 0x6e, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x56, 0x65, 0x74, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74,
|
0x0f, 0x6e, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x56, 0x65, 0x74, 0x6f, 0x43, 0x6f, 0x75, 0x6e, 0x74,
|
||||||
0x22, 0x9f, 0x01, 0x0a, 0x04, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f,
|
0x22, 0xbb, 0x01, 0x0a, 0x04, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f,
|
||||||
0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
|
0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
|
||||||
0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x6f,
|
0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x6f,
|
||||||
0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63,
|
0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63,
|
||||||
|
@ -5757,76 +5830,78 @@ var file_cosmos_gov_v1beta2_gov_proto_rawDesc = []byte{
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f,
|
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f,
|
||||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
|
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
|
||||||
0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4f, 0x70, 0x74,
|
0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4f, 0x70, 0x74,
|
||||||
0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x04, 0x08, 0x03,
|
0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08,
|
||||||
0x10, 0x04, 0x22, 0xd9, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x50, 0x61,
|
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
|
||||||
0x72, 0x61, 0x6d, 0x73, 0x12, 0x59, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x70, 0x6f,
|
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0xd9,
|
||||||
0x73, 0x69, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d,
|
0x01, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
|
||||||
0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
|
0x12, 0x59, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18,
|
||||||
0x43, 0x6f, 0x69, 0x6e, 0x42, 0x1d, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x15, 0x6d, 0x69,
|
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62,
|
||||||
0x6e, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d,
|
0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e,
|
||||||
0x70, 0x74, 0x79, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12,
|
0x42, 0x1d, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x15, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x65,
|
||||||
0x6d, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x70,
|
0x70, 0x6f, 0x73, 0x69, 0x74, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52,
|
||||||
0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
|
0x0a, 0x6d, 0x69, 0x6e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x6d, 0x0a, 0x12, 0x6d,
|
||||||
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
|
0x61, 0x78, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f,
|
||||||
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x24, 0xea, 0xde, 0x1f, 0x1c, 0x6d, 0x61, 0x78, 0x5f,
|
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
||||||
0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x2c, 0x6f,
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
|
||||||
0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x98, 0xdf, 0x1f, 0x01, 0x52, 0x10, 0x6d, 0x61,
|
0x6f, 0x6e, 0x42, 0x24, 0xea, 0xde, 0x1f, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x70, 0x6f,
|
||||||
0x78, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0x54,
|
0x73, 0x69, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65,
|
||||||
0x0a, 0x0c, 0x56, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x44,
|
0x6d, 0x70, 0x74, 0x79, 0x98, 0xdf, 0x1f, 0x01, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x70,
|
||||||
0x0a, 0x0d, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18,
|
0x6f, 0x73, 0x69, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0x54, 0x0a, 0x0c, 0x56, 0x6f,
|
||||||
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x76, 0x6f,
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x42, 0x04, 0x98, 0xdf, 0x1f, 0x01, 0x52, 0x0c, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x65,
|
0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
0x72, 0x69, 0x6f, 0x64, 0x22, 0xe1, 0x01, 0x0a, 0x0b, 0x54, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x61,
|
0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x04, 0x98, 0xdf,
|
||||||
0x72, 0x61, 0x6d, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x18, 0x01,
|
0x1f, 0x01, 0x52, 0x0c, 0x76, 0x6f, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xea, 0xde, 0x1f, 0x10, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d,
|
0x22, 0xe1, 0x01, 0x0a, 0x0b, 0x54, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
|
||||||
0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f,
|
0x12, 0x3a, 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d,
|
0x42, 0x22, 0xea, 0xde, 0x1f, 0x10, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x2c, 0x6f, 0x6d, 0x69,
|
||||||
0x12, 0x43, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20,
|
0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||||
0x01, 0x28, 0x09, 0x42, 0x25, 0xea, 0xde, 0x1f, 0x13, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f,
|
0x2e, 0x44, 0x65, 0x63, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x72, 0x75, 0x6d, 0x12, 0x43, 0x0a, 0x09,
|
||||||
0x6c, 0x64, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xd2, 0xb4, 0x2d, 0x0a,
|
0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
|
||||||
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65,
|
0x25, 0xea, 0xde, 0x1f, 0x13, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x2c, 0x6f,
|
||||||
0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x51, 0x0a, 0x0e, 0x76, 0x65, 0x74, 0x6f, 0x5f, 0x74, 0x68,
|
0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d,
|
||||||
0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xea,
|
0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
|
||||||
0xde, 0x1f, 0x18, 0x76, 0x65, 0x74, 0x6f, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
|
0x64, 0x12, 0x51, 0x0a, 0x0e, 0x76, 0x65, 0x74, 0x6f, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68,
|
||||||
0x64, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xd2, 0xb4, 0x2d, 0x0a, 0x63,
|
0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xea, 0xde, 0x1f, 0x18, 0x76,
|
||||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0d, 0x76, 0x65, 0x74, 0x6f, 0x54,
|
0x65, 0x74, 0x6f, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x2c, 0x6f, 0x6d,
|
||||||
0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x2a, 0x89, 0x01, 0x0a, 0x0a, 0x56, 0x6f, 0x74,
|
0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||||
0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x56, 0x4f, 0x54, 0x45, 0x5f,
|
0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0d, 0x76, 0x65, 0x74, 0x6f, 0x54, 0x68, 0x72, 0x65, 0x73,
|
||||||
0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
|
0x68, 0x6f, 0x6c, 0x64, 0x2a, 0x89, 0x01, 0x0a, 0x0a, 0x56, 0x6f, 0x74, 0x65, 0x4f, 0x70, 0x74,
|
||||||
0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54,
|
0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49,
|
||||||
0x49, 0x4f, 0x4e, 0x5f, 0x59, 0x45, 0x53, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x4f, 0x54,
|
0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
|
||||||
0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x42, 0x53, 0x54, 0x41, 0x49, 0x4e,
|
0x12, 0x13, 0x0a, 0x0f, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
|
||||||
0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f,
|
0x59, 0x45, 0x53, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50,
|
||||||
0x4e, 0x5f, 0x4e, 0x4f, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f,
|
0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x42, 0x53, 0x54, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x12,
|
||||||
0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x56, 0x45,
|
0x0a, 0x0e, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f,
|
||||||
0x54, 0x4f, 0x10, 0x04, 0x2a, 0xce, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61,
|
0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x56, 0x4f, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f,
|
||||||
0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x52, 0x4f, 0x50, 0x4f,
|
0x4e, 0x5f, 0x4e, 0x4f, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x56, 0x45, 0x54, 0x4f, 0x10, 0x04,
|
||||||
0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
|
0x2a, 0xce, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x53, 0x74, 0x61,
|
||||||
0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x4f, 0x50,
|
0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f,
|
||||||
0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x50, 0x4f,
|
0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
|
||||||
0x53, 0x49, 0x54, 0x5f, 0x50, 0x45, 0x52, 0x49, 0x4f, 0x44, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d,
|
0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c,
|
||||||
0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f,
|
0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x5f,
|
||||||
0x56, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x45, 0x52, 0x49, 0x4f, 0x44, 0x10, 0x02, 0x12,
|
0x50, 0x45, 0x52, 0x49, 0x4f, 0x44, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x50,
|
||||||
0x1a, 0x0a, 0x16, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54,
|
0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x56, 0x4f, 0x54, 0x49,
|
||||||
0x55, 0x53, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x50,
|
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, 0x52,
|
0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50,
|
||||||
0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x4f,
|
0x41, 0x53, 0x53, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x50, 0x4f,
|
||||||
0x50, 0x4f, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49,
|
0x53, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43,
|
||||||
0x4c, 0x45, 0x44, 0x10, 0x05, 0x42, 0xcc, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f,
|
0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x41,
|
||||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
|
0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10,
|
||||||
0x42, 0x08, 0x47, 0x6f, 0x76, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69,
|
0x05, 0x42, 0xcc, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||||
0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f,
|
0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x42, 0x08, 0x47, 0x6f,
|
||||||
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63,
|
0x76, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
|
||||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x6f, 0x76, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
|
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d,
|
||||||
0x32, 0x3b, 0x67, 0x6f, 0x76, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0xa2, 0x02, 0x03, 0x43,
|
0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||||
0x47, 0x58, 0xaa, 0x02, 0x12, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x47, 0x6f, 0x76, 0x2e,
|
0x73, 0x2f, 0x67, 0x6f, 0x76, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x3b, 0x67, 0x6f,
|
||||||
0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0xca, 0x02, 0x12, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
0x76, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0xa2, 0x02, 0x03, 0x43, 0x47, 0x58, 0xaa, 0x02,
|
||||||
0x5c, 0x47, 0x6f, 0x76, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0xe2, 0x02, 0x1e, 0x43,
|
0x12, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x47, 0x6f, 0x76, 0x2e, 0x56, 0x31, 0x62, 0x65,
|
||||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x6f, 0x76, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61,
|
0x74, 0x61, 0x32, 0xca, 0x02, 0x12, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x6f, 0x76,
|
||||||
0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14,
|
0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0xe2, 0x02, 0x1e, 0x43, 0x6f, 0x73, 0x6d, 0x6f,
|
||||||
0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x47, 0x6f, 0x76, 0x3a, 0x3a, 0x56, 0x31, 0x62,
|
0x73, 0x5c, 0x47, 0x6f, 0x76, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x5c, 0x47, 0x50,
|
||||||
0x65, 0x74, 0x61, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x6f, 0x73, 0x6d,
|
||||||
|
0x6f, 0x73, 0x3a, 0x3a, 0x47, 0x6f, 0x76, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
|
||||||
|
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
|
@ -2041,6 +2041,7 @@ var (
|
||||||
fd_MsgVote_proposal_id protoreflect.FieldDescriptor
|
fd_MsgVote_proposal_id protoreflect.FieldDescriptor
|
||||||
fd_MsgVote_voter protoreflect.FieldDescriptor
|
fd_MsgVote_voter protoreflect.FieldDescriptor
|
||||||
fd_MsgVote_option protoreflect.FieldDescriptor
|
fd_MsgVote_option protoreflect.FieldDescriptor
|
||||||
|
fd_MsgVote_metadata protoreflect.FieldDescriptor
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
@ -2049,6 +2050,7 @@ func init() {
|
||||||
fd_MsgVote_proposal_id = md_MsgVote.Fields().ByName("proposal_id")
|
fd_MsgVote_proposal_id = md_MsgVote.Fields().ByName("proposal_id")
|
||||||
fd_MsgVote_voter = md_MsgVote.Fields().ByName("voter")
|
fd_MsgVote_voter = md_MsgVote.Fields().ByName("voter")
|
||||||
fd_MsgVote_option = md_MsgVote.Fields().ByName("option")
|
fd_MsgVote_option = md_MsgVote.Fields().ByName("option")
|
||||||
|
fd_MsgVote_metadata = md_MsgVote.Fields().ByName("metadata")
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ protoreflect.Message = (*fastReflection_MsgVote)(nil)
|
var _ protoreflect.Message = (*fastReflection_MsgVote)(nil)
|
||||||
|
@ -2134,6 +2136,12 @@ func (x *fastReflection_MsgVote) Range(f func(protoreflect.FieldDescriptor, prot
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if x.Metadata != "" {
|
||||||
|
value := protoreflect.ValueOfString(x.Metadata)
|
||||||
|
if !f(fd_MsgVote_metadata, value) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Has reports whether a field is populated.
|
// Has reports whether a field is populated.
|
||||||
|
@ -2155,6 +2163,8 @@ func (x *fastReflection_MsgVote) Has(fd protoreflect.FieldDescriptor) bool {
|
||||||
return x.Voter != ""
|
return x.Voter != ""
|
||||||
case "cosmos.gov.v1beta2.MsgVote.option":
|
case "cosmos.gov.v1beta2.MsgVote.option":
|
||||||
return x.Option != 0
|
return x.Option != 0
|
||||||
|
case "cosmos.gov.v1beta2.MsgVote.metadata":
|
||||||
|
return x.Metadata != ""
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVote"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVote"))
|
||||||
|
@ -2177,6 +2187,8 @@ func (x *fastReflection_MsgVote) Clear(fd protoreflect.FieldDescriptor) {
|
||||||
x.Voter = ""
|
x.Voter = ""
|
||||||
case "cosmos.gov.v1beta2.MsgVote.option":
|
case "cosmos.gov.v1beta2.MsgVote.option":
|
||||||
x.Option = 0
|
x.Option = 0
|
||||||
|
case "cosmos.gov.v1beta2.MsgVote.metadata":
|
||||||
|
x.Metadata = ""
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVote"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVote"))
|
||||||
|
@ -2202,6 +2214,9 @@ func (x *fastReflection_MsgVote) Get(descriptor protoreflect.FieldDescriptor) pr
|
||||||
case "cosmos.gov.v1beta2.MsgVote.option":
|
case "cosmos.gov.v1beta2.MsgVote.option":
|
||||||
value := x.Option
|
value := x.Option
|
||||||
return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value))
|
return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value))
|
||||||
|
case "cosmos.gov.v1beta2.MsgVote.metadata":
|
||||||
|
value := x.Metadata
|
||||||
|
return protoreflect.ValueOfString(value)
|
||||||
default:
|
default:
|
||||||
if descriptor.IsExtension() {
|
if descriptor.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVote"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVote"))
|
||||||
|
@ -2228,6 +2243,8 @@ func (x *fastReflection_MsgVote) Set(fd protoreflect.FieldDescriptor, value prot
|
||||||
x.Voter = value.Interface().(string)
|
x.Voter = value.Interface().(string)
|
||||||
case "cosmos.gov.v1beta2.MsgVote.option":
|
case "cosmos.gov.v1beta2.MsgVote.option":
|
||||||
x.Option = (VoteOption)(value.Enum())
|
x.Option = (VoteOption)(value.Enum())
|
||||||
|
case "cosmos.gov.v1beta2.MsgVote.metadata":
|
||||||
|
x.Metadata = value.Interface().(string)
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVote"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVote"))
|
||||||
|
@ -2254,6 +2271,8 @@ func (x *fastReflection_MsgVote) Mutable(fd protoreflect.FieldDescriptor) protor
|
||||||
panic(fmt.Errorf("field voter of message cosmos.gov.v1beta2.MsgVote is not mutable"))
|
panic(fmt.Errorf("field voter of message cosmos.gov.v1beta2.MsgVote is not mutable"))
|
||||||
case "cosmos.gov.v1beta2.MsgVote.option":
|
case "cosmos.gov.v1beta2.MsgVote.option":
|
||||||
panic(fmt.Errorf("field option of message cosmos.gov.v1beta2.MsgVote is not mutable"))
|
panic(fmt.Errorf("field option of message cosmos.gov.v1beta2.MsgVote is not mutable"))
|
||||||
|
case "cosmos.gov.v1beta2.MsgVote.metadata":
|
||||||
|
panic(fmt.Errorf("field metadata of message cosmos.gov.v1beta2.MsgVote is not mutable"))
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVote"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVote"))
|
||||||
|
@ -2273,6 +2292,8 @@ func (x *fastReflection_MsgVote) NewField(fd protoreflect.FieldDescriptor) proto
|
||||||
return protoreflect.ValueOfString("")
|
return protoreflect.ValueOfString("")
|
||||||
case "cosmos.gov.v1beta2.MsgVote.option":
|
case "cosmos.gov.v1beta2.MsgVote.option":
|
||||||
return protoreflect.ValueOfEnum(0)
|
return protoreflect.ValueOfEnum(0)
|
||||||
|
case "cosmos.gov.v1beta2.MsgVote.metadata":
|
||||||
|
return protoreflect.ValueOfString("")
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVote"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVote"))
|
||||||
|
@ -2352,6 +2373,10 @@ func (x *fastReflection_MsgVote) ProtoMethods() *protoiface.Methods {
|
||||||
if x.Option != 0 {
|
if x.Option != 0 {
|
||||||
n += 1 + runtime.Sov(uint64(x.Option))
|
n += 1 + runtime.Sov(uint64(x.Option))
|
||||||
}
|
}
|
||||||
|
l = len(x.Metadata)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + runtime.Sov(uint64(l))
|
||||||
|
}
|
||||||
if x.unknownFields != nil {
|
if x.unknownFields != nil {
|
||||||
n += len(x.unknownFields)
|
n += len(x.unknownFields)
|
||||||
}
|
}
|
||||||
|
@ -2381,6 +2406,13 @@ func (x *fastReflection_MsgVote) ProtoMethods() *protoiface.Methods {
|
||||||
i -= len(x.unknownFields)
|
i -= len(x.unknownFields)
|
||||||
copy(dAtA[i:], x.unknownFields)
|
copy(dAtA[i:], x.unknownFields)
|
||||||
}
|
}
|
||||||
|
if len(x.Metadata) > 0 {
|
||||||
|
i -= len(x.Metadata)
|
||||||
|
copy(dAtA[i:], x.Metadata)
|
||||||
|
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Metadata)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x22
|
||||||
|
}
|
||||||
if x.Option != 0 {
|
if x.Option != 0 {
|
||||||
i = runtime.EncodeVarint(dAtA, i, uint64(x.Option))
|
i = runtime.EncodeVarint(dAtA, i, uint64(x.Option))
|
||||||
i--
|
i--
|
||||||
|
@ -2517,6 +2549,38 @@ func (x *fastReflection_MsgVote) ProtoMethods() *protoiface.Methods {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
case 4:
|
||||||
|
if wireType != 2 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
stringLen |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
intStringLen := int(stringLen)
|
||||||
|
if intStringLen < 0 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
x.Metadata = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := runtime.Skip(dAtA[iNdEx:])
|
skippy, err := runtime.Skip(dAtA[iNdEx:])
|
||||||
|
@ -2964,6 +3028,7 @@ var (
|
||||||
fd_MsgVoteWeighted_proposal_id protoreflect.FieldDescriptor
|
fd_MsgVoteWeighted_proposal_id protoreflect.FieldDescriptor
|
||||||
fd_MsgVoteWeighted_voter protoreflect.FieldDescriptor
|
fd_MsgVoteWeighted_voter protoreflect.FieldDescriptor
|
||||||
fd_MsgVoteWeighted_options protoreflect.FieldDescriptor
|
fd_MsgVoteWeighted_options protoreflect.FieldDescriptor
|
||||||
|
fd_MsgVoteWeighted_metadata protoreflect.FieldDescriptor
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
@ -2972,6 +3037,7 @@ func init() {
|
||||||
fd_MsgVoteWeighted_proposal_id = md_MsgVoteWeighted.Fields().ByName("proposal_id")
|
fd_MsgVoteWeighted_proposal_id = md_MsgVoteWeighted.Fields().ByName("proposal_id")
|
||||||
fd_MsgVoteWeighted_voter = md_MsgVoteWeighted.Fields().ByName("voter")
|
fd_MsgVoteWeighted_voter = md_MsgVoteWeighted.Fields().ByName("voter")
|
||||||
fd_MsgVoteWeighted_options = md_MsgVoteWeighted.Fields().ByName("options")
|
fd_MsgVoteWeighted_options = md_MsgVoteWeighted.Fields().ByName("options")
|
||||||
|
fd_MsgVoteWeighted_metadata = md_MsgVoteWeighted.Fields().ByName("metadata")
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ protoreflect.Message = (*fastReflection_MsgVoteWeighted)(nil)
|
var _ protoreflect.Message = (*fastReflection_MsgVoteWeighted)(nil)
|
||||||
|
@ -3057,6 +3123,12 @@ func (x *fastReflection_MsgVoteWeighted) Range(f func(protoreflect.FieldDescript
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if x.Metadata != "" {
|
||||||
|
value := protoreflect.ValueOfString(x.Metadata)
|
||||||
|
if !f(fd_MsgVoteWeighted_metadata, value) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Has reports whether a field is populated.
|
// Has reports whether a field is populated.
|
||||||
|
@ -3078,6 +3150,8 @@ func (x *fastReflection_MsgVoteWeighted) Has(fd protoreflect.FieldDescriptor) bo
|
||||||
return x.Voter != ""
|
return x.Voter != ""
|
||||||
case "cosmos.gov.v1beta2.MsgVoteWeighted.options":
|
case "cosmos.gov.v1beta2.MsgVoteWeighted.options":
|
||||||
return len(x.Options) != 0
|
return len(x.Options) != 0
|
||||||
|
case "cosmos.gov.v1beta2.MsgVoteWeighted.metadata":
|
||||||
|
return x.Metadata != ""
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVoteWeighted"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVoteWeighted"))
|
||||||
|
@ -3100,6 +3174,8 @@ func (x *fastReflection_MsgVoteWeighted) Clear(fd protoreflect.FieldDescriptor)
|
||||||
x.Voter = ""
|
x.Voter = ""
|
||||||
case "cosmos.gov.v1beta2.MsgVoteWeighted.options":
|
case "cosmos.gov.v1beta2.MsgVoteWeighted.options":
|
||||||
x.Options = nil
|
x.Options = nil
|
||||||
|
case "cosmos.gov.v1beta2.MsgVoteWeighted.metadata":
|
||||||
|
x.Metadata = ""
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVoteWeighted"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVoteWeighted"))
|
||||||
|
@ -3128,6 +3204,9 @@ func (x *fastReflection_MsgVoteWeighted) Get(descriptor protoreflect.FieldDescri
|
||||||
}
|
}
|
||||||
listValue := &_MsgVoteWeighted_3_list{list: &x.Options}
|
listValue := &_MsgVoteWeighted_3_list{list: &x.Options}
|
||||||
return protoreflect.ValueOfList(listValue)
|
return protoreflect.ValueOfList(listValue)
|
||||||
|
case "cosmos.gov.v1beta2.MsgVoteWeighted.metadata":
|
||||||
|
value := x.Metadata
|
||||||
|
return protoreflect.ValueOfString(value)
|
||||||
default:
|
default:
|
||||||
if descriptor.IsExtension() {
|
if descriptor.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVoteWeighted"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVoteWeighted"))
|
||||||
|
@ -3156,6 +3235,8 @@ func (x *fastReflection_MsgVoteWeighted) Set(fd protoreflect.FieldDescriptor, va
|
||||||
lv := value.List()
|
lv := value.List()
|
||||||
clv := lv.(*_MsgVoteWeighted_3_list)
|
clv := lv.(*_MsgVoteWeighted_3_list)
|
||||||
x.Options = *clv.list
|
x.Options = *clv.list
|
||||||
|
case "cosmos.gov.v1beta2.MsgVoteWeighted.metadata":
|
||||||
|
x.Metadata = value.Interface().(string)
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVoteWeighted"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVoteWeighted"))
|
||||||
|
@ -3186,6 +3267,8 @@ func (x *fastReflection_MsgVoteWeighted) Mutable(fd protoreflect.FieldDescriptor
|
||||||
panic(fmt.Errorf("field proposal_id of message cosmos.gov.v1beta2.MsgVoteWeighted is not mutable"))
|
panic(fmt.Errorf("field proposal_id of message cosmos.gov.v1beta2.MsgVoteWeighted is not mutable"))
|
||||||
case "cosmos.gov.v1beta2.MsgVoteWeighted.voter":
|
case "cosmos.gov.v1beta2.MsgVoteWeighted.voter":
|
||||||
panic(fmt.Errorf("field voter of message cosmos.gov.v1beta2.MsgVoteWeighted is not mutable"))
|
panic(fmt.Errorf("field voter of message cosmos.gov.v1beta2.MsgVoteWeighted is not mutable"))
|
||||||
|
case "cosmos.gov.v1beta2.MsgVoteWeighted.metadata":
|
||||||
|
panic(fmt.Errorf("field metadata of message cosmos.gov.v1beta2.MsgVoteWeighted is not mutable"))
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVoteWeighted"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVoteWeighted"))
|
||||||
|
@ -3206,6 +3289,8 @@ func (x *fastReflection_MsgVoteWeighted) NewField(fd protoreflect.FieldDescripto
|
||||||
case "cosmos.gov.v1beta2.MsgVoteWeighted.options":
|
case "cosmos.gov.v1beta2.MsgVoteWeighted.options":
|
||||||
list := []*WeightedVoteOption{}
|
list := []*WeightedVoteOption{}
|
||||||
return protoreflect.ValueOfList(&_MsgVoteWeighted_3_list{list: &list})
|
return protoreflect.ValueOfList(&_MsgVoteWeighted_3_list{list: &list})
|
||||||
|
case "cosmos.gov.v1beta2.MsgVoteWeighted.metadata":
|
||||||
|
return protoreflect.ValueOfString("")
|
||||||
default:
|
default:
|
||||||
if fd.IsExtension() {
|
if fd.IsExtension() {
|
||||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVoteWeighted"))
|
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.gov.v1beta2.MsgVoteWeighted"))
|
||||||
|
@ -3288,6 +3373,10 @@ func (x *fastReflection_MsgVoteWeighted) ProtoMethods() *protoiface.Methods {
|
||||||
n += 1 + l + runtime.Sov(uint64(l))
|
n += 1 + l + runtime.Sov(uint64(l))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
l = len(x.Metadata)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + runtime.Sov(uint64(l))
|
||||||
|
}
|
||||||
if x.unknownFields != nil {
|
if x.unknownFields != nil {
|
||||||
n += len(x.unknownFields)
|
n += len(x.unknownFields)
|
||||||
}
|
}
|
||||||
|
@ -3317,6 +3406,13 @@ func (x *fastReflection_MsgVoteWeighted) ProtoMethods() *protoiface.Methods {
|
||||||
i -= len(x.unknownFields)
|
i -= len(x.unknownFields)
|
||||||
copy(dAtA[i:], x.unknownFields)
|
copy(dAtA[i:], x.unknownFields)
|
||||||
}
|
}
|
||||||
|
if len(x.Metadata) > 0 {
|
||||||
|
i -= len(x.Metadata)
|
||||||
|
copy(dAtA[i:], x.Metadata)
|
||||||
|
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Metadata)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x22
|
||||||
|
}
|
||||||
if len(x.Options) > 0 {
|
if len(x.Options) > 0 {
|
||||||
for iNdEx := len(x.Options) - 1; iNdEx >= 0; iNdEx-- {
|
for iNdEx := len(x.Options) - 1; iNdEx >= 0; iNdEx-- {
|
||||||
encoded, err := options.Marshal(x.Options[iNdEx])
|
encoded, err := options.Marshal(x.Options[iNdEx])
|
||||||
|
@ -3479,6 +3575,38 @@ func (x *fastReflection_MsgVoteWeighted) ProtoMethods() *protoiface.Methods {
|
||||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 4:
|
||||||
|
if wireType != 2 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
stringLen |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
intStringLen := int(stringLen)
|
||||||
|
if intStringLen < 0 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
x.Metadata = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := runtime.Skip(dAtA[iNdEx:])
|
skippy, err := runtime.Skip(dAtA[iNdEx:])
|
||||||
|
@ -5028,6 +5156,7 @@ type MsgVote struct {
|
||||||
ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"`
|
ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"`
|
||||||
Voter string `protobuf:"bytes,2,opt,name=voter,proto3" json:"voter,omitempty"`
|
Voter string `protobuf:"bytes,2,opt,name=voter,proto3" json:"voter,omitempty"`
|
||||||
Option VoteOption `protobuf:"varint,3,opt,name=option,proto3,enum=cosmos.gov.v1beta2.VoteOption" json:"option,omitempty"`
|
Option VoteOption `protobuf:"varint,3,opt,name=option,proto3,enum=cosmos.gov.v1beta2.VoteOption" json:"option,omitempty"`
|
||||||
|
Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MsgVote) Reset() {
|
func (x *MsgVote) Reset() {
|
||||||
|
@ -5071,6 +5200,13 @@ func (x *MsgVote) GetOption() VoteOption {
|
||||||
return VoteOption_VOTE_OPTION_UNSPECIFIED
|
return VoteOption_VOTE_OPTION_UNSPECIFIED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *MsgVote) GetMetadata() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Metadata
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
// MsgVoteResponse defines the Msg/Vote response type.
|
// MsgVoteResponse defines the Msg/Vote response type.
|
||||||
type MsgVoteResponse struct {
|
type MsgVoteResponse struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
|
@ -5107,6 +5243,7 @@ type MsgVoteWeighted struct {
|
||||||
ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"`
|
ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"`
|
||||||
Voter string `protobuf:"bytes,2,opt,name=voter,proto3" json:"voter,omitempty"`
|
Voter string `protobuf:"bytes,2,opt,name=voter,proto3" json:"voter,omitempty"`
|
||||||
Options []*WeightedVoteOption `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"`
|
Options []*WeightedVoteOption `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"`
|
||||||
|
Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *MsgVoteWeighted) Reset() {
|
func (x *MsgVoteWeighted) Reset() {
|
||||||
|
@ -5150,6 +5287,13 @@ func (x *MsgVoteWeighted) GetOptions() []*WeightedVoteOption {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *MsgVoteWeighted) GetMetadata() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Metadata
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
// MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.
|
// MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.
|
||||||
type MsgVoteWeightedResponse struct {
|
type MsgVoteWeightedResponse struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
|
@ -5301,7 +5445,7 @@ var file_cosmos_gov_v1beta2_tx_proto_rawDesc = []byte{
|
||||||
0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09,
|
0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09,
|
||||||
0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67,
|
0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67,
|
||||||
0x45, 0x78, 0x65, 0x63, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
|
0x45, 0x78, 0x65, 0x63, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
|
||||||
0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaf, 0x01, 0x0a, 0x07, 0x4d, 0x73,
|
0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x07, 0x4d, 0x73,
|
||||||
0x67, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61,
|
0x67, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61,
|
||||||
0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0f, 0xea, 0xde, 0x1f, 0x0b,
|
0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0f, 0xea, 0xde, 0x1f, 0x0b,
|
||||||
0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x52, 0x0a, 0x70, 0x72, 0x6f,
|
0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x52, 0x0a, 0x70, 0x72, 0x6f,
|
||||||
|
@ -5311,80 +5455,84 @@ var file_cosmos_gov_v1beta2_tx_proto_rawDesc = []byte{
|
||||||
0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f,
|
0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f,
|
||||||
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||||
0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x56, 0x6f, 0x74,
|
0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x56, 0x6f, 0x74,
|
||||||
0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a,
|
0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
|
||||||
0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x4d,
|
0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||||
0x73, 0x67, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc1,
|
0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a, 0x82, 0xe7, 0xb0,
|
||||||
0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74,
|
0x2a, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x56, 0x6f,
|
||||||
0x65, 0x64, 0x12, 0x30, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69,
|
0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdd, 0x01, 0x0a, 0x0f, 0x4d,
|
||||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0f, 0xea, 0xde, 0x1f, 0x0b, 0x70, 0x72, 0x6f,
|
0x73, 0x67, 0x56, 0x6f, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x12, 0x30,
|
||||||
0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73,
|
0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||||
0x61, 0x6c, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20,
|
0x01, 0x28, 0x04, 0x42, 0x0f, 0xea, 0xde, 0x1f, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61,
|
||||||
0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
|
0x6c, 0x5f, 0x69, 0x64, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64,
|
||||||
0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x76,
|
0x12, 0x2e, 0x0a, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
|
||||||
0x6f, 0x74, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
|
0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72,
|
||||||
0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67,
|
0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x72,
|
||||||
0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68,
|
0x12, 0x40, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
|
||||||
0x74, 0x65, 0x64, 0x56, 0x6f, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f,
|
0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76,
|
||||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x76, 0x6f, 0x74,
|
0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x56,
|
||||||
0x65, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x74, 0x65, 0x57, 0x65, 0x69,
|
0x6f, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f,
|
||||||
0x67, 0x68, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x01,
|
0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04,
|
||||||
0x0a, 0x0a, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x30, 0x0a, 0x0b,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x0a,
|
||||||
0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73,
|
||||||
0x04, 0x42, 0x0f, 0xea, 0xde, 0x1f, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f,
|
0x67, 0x56, 0x6f, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73,
|
||||||
0x69, 0x64, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x36,
|
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x0a, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x70,
|
||||||
0x0a, 0x09, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
|
0x6f, 0x73, 0x69, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c,
|
||||||
0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64,
|
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0f, 0xea, 0xde, 0x1f, 0x0b, 0x70,
|
||||||
0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x64, 0x65, 0x70,
|
0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70,
|
||||||
0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x37, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
|
0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x09, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69,
|
||||||
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
|
0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63,
|
||||||
0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69,
|
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72,
|
||||||
0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a,
|
0x69, 0x6e, 0x67, 0x52, 0x09, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x37,
|
||||||
0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x22,
|
0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
|
||||||
0x14, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x65, 0x73,
|
0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62,
|
||||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xdd, 0x03, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x66, 0x0a,
|
0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52,
|
||||||
0x0e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12,
|
0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x64, 0x65,
|
||||||
0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62,
|
0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x22, 0x14, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x44, 0x65,
|
||||||
0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, 0x72,
|
0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xdd, 0x03,
|
||||||
0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x1a, 0x2d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
|
0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x66, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50,
|
||||||
0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x53,
|
0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||||
0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x52, 0x65, 0x73,
|
0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67,
|
||||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x11, 0x45, 0x78, 0x65, 0x63, 0x4c, 0x65, 0x67,
|
0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x1a, 0x2d,
|
||||||
0x61, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73,
|
|
||||||
0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e,
|
|
||||||
0x4d, 0x73, 0x67, 0x45, 0x78, 0x65, 0x63, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x6f, 0x6e,
|
|
||||||
0x74, 0x65, 0x6e, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f,
|
|
||||||
0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x65,
|
|
||||||
0x63, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65,
|
|
||||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x04, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x1b,
|
|
||||||
0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65,
|
0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65,
|
||||||
0x74, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x23, 0x2e, 0x63, 0x6f,
|
0x74, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f,
|
||||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
|
0x70, 0x6f, 0x73, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a,
|
||||||
0x2e, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
0x11, 0x45, 0x78, 0x65, 0x63, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65,
|
||||||
0x12, 0x60, 0x0a, 0x0c, 0x56, 0x6f, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64,
|
0x6e, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e,
|
||||||
0x12, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31,
|
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x65, 0x63, 0x4c,
|
||||||
0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x74, 0x65, 0x57, 0x65, 0x69,
|
0x65, 0x67, 0x61, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x1a, 0x30, 0x2e, 0x63,
|
||||||
0x67, 0x68, 0x74, 0x65, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67,
|
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
|
||||||
0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x56, 0x6f,
|
0x32, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x65, 0x63, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x43,
|
||||||
0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48,
|
||||||
0x73, 0x65, 0x12, 0x51, 0x0a, 0x07, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x1e, 0x2e,
|
0x0a, 0x04, 0x56, 0x6f, 0x74, 0x65, 0x12, 0x1b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
|
||||||
|
0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x56,
|
||||||
|
0x6f, 0x74, 0x65, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76,
|
||||||
|
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x74, 0x65,
|
||||||
|
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0c, 0x56, 0x6f, 0x74, 0x65,
|
||||||
|
0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||||
|
0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x73,
|
||||||
|
0x67, 0x56, 0x6f, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x1a, 0x2b, 0x2e,
|
||||||
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
|
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
|
||||||
0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x1a, 0x26, 0x2e,
|
0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74,
|
||||||
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
|
0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x07, 0x44, 0x65,
|
||||||
0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x65, 0x73,
|
0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67,
|
||||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xcb, 0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f,
|
0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65,
|
||||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
|
0x70, 0x6f, 0x73, 0x69, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67,
|
||||||
0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74,
|
0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65,
|
||||||
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63,
|
0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xcb, 0x01,
|
||||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f,
|
0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76,
|
||||||
0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x6f, 0x76, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
|
0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74,
|
||||||
0x3b, 0x67, 0x6f, 0x76, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0xa2, 0x02, 0x03, 0x43, 0x47,
|
0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
|
||||||
0x58, 0xaa, 0x02, 0x12, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x47, 0x6f, 0x76, 0x2e, 0x56,
|
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64,
|
||||||
0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0xca, 0x02, 0x12, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c,
|
0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x6f, 0x76,
|
||||||
0x47, 0x6f, 0x76, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0xe2, 0x02, 0x1e, 0x43, 0x6f,
|
0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x3b, 0x67, 0x6f, 0x76, 0x76, 0x31, 0x62, 0x65,
|
||||||
0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x6f, 0x76, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
|
0x74, 0x61, 0x32, 0xa2, 0x02, 0x03, 0x43, 0x47, 0x58, 0xaa, 0x02, 0x12, 0x43, 0x6f, 0x73, 0x6d,
|
||||||
0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43,
|
0x6f, 0x73, 0x2e, 0x47, 0x6f, 0x76, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0xca, 0x02,
|
||||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x47, 0x6f, 0x76, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65,
|
0x12, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x6f, 0x76, 0x5c, 0x56, 0x31, 0x62, 0x65,
|
||||||
0x74, 0x61, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x74, 0x61, 0x32, 0xe2, 0x02, 0x1e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x6f, 0x76,
|
||||||
|
0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61,
|
||||||
|
0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x14, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x47,
|
||||||
|
0x6f, 0x76, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||||
|
0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
|
@ -94,6 +94,9 @@ message Vote {
|
||||||
string voter = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
string voter = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
||||||
reserved 3;
|
reserved 3;
|
||||||
repeated WeightedVoteOption options = 4;
|
repeated WeightedVoteOption options = 4;
|
||||||
|
|
||||||
|
// metadata is any arbitrary metadata to attached to the vote.
|
||||||
|
string metadata = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
// DepositParams defines the params for deposits on governance proposals.
|
// DepositParams defines the params for deposits on governance proposals.
|
||||||
|
|
|
@ -68,6 +68,7 @@ message MsgVote {
|
||||||
uint64 proposal_id = 1 [(gogoproto.jsontag) = "proposal_id"];
|
uint64 proposal_id = 1 [(gogoproto.jsontag) = "proposal_id"];
|
||||||
string voter = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
string voter = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
||||||
VoteOption option = 3;
|
VoteOption option = 3;
|
||||||
|
string metadata = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
// MsgVoteResponse defines the Msg/Vote response type.
|
// MsgVoteResponse defines the Msg/Vote response type.
|
||||||
|
@ -80,6 +81,7 @@ message MsgVoteWeighted {
|
||||||
uint64 proposal_id = 1 [(gogoproto.jsontag) = "proposal_id"];
|
uint64 proposal_id = 1 [(gogoproto.jsontag) = "proposal_id"];
|
||||||
string voter = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
string voter = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
||||||
repeated WeightedVoteOption options = 3;
|
repeated WeightedVoteOption options = 3;
|
||||||
|
string metadata = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
// MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.
|
// MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.
|
||||||
|
|
|
@ -93,7 +93,7 @@ func (s *MWTestSuite) TestTips() {
|
||||||
ctx, accts := s.setupAcctsForTips(ctx)
|
ctx, accts := s.setupAcctsForTips(ctx)
|
||||||
tipper, feePayer := accts[0], accts[1]
|
tipper, feePayer := accts[0], accts[1]
|
||||||
|
|
||||||
msg = govtypes.NewMsgVote(tipper.acc.GetAddress(), 1, govtypes.OptionYes)
|
msg = govtypes.NewMsgVote(tipper.acc.GetAddress(), 1, govtypes.OptionYes, "")
|
||||||
|
|
||||||
auxSignerData := s.mkTipperAuxSignerData(tipper.priv, msg, tc.tip, signing.SignMode_SIGN_MODE_DIRECT_AUX, tipper.accNum, 0, ctx.ChainID())
|
auxSignerData := s.mkTipperAuxSignerData(tipper.priv, msg, tc.tip, signing.SignMode_SIGN_MODE_DIRECT_AUX, tipper.accNum, 0, ctx.ChainID())
|
||||||
feePayerTxBuilder := s.mkFeePayerTxBuilder(s.clientCtx, auxSignerData, feePayer.priv, signing.SignMode_SIGN_MODE_DIRECT, tx.Fee{Amount: tc.fee, GasLimit: tc.gasLimit}, feePayer.accNum, 0, ctx.ChainID())
|
feePayerTxBuilder := s.mkFeePayerTxBuilder(s.clientCtx, auxSignerData, feePayer.priv, signing.SignMode_SIGN_MODE_DIRECT, tx.Fee{Amount: tc.fee, GasLimit: tc.gasLimit}, feePayer.accNum, 0, ctx.ChainID())
|
||||||
|
|
|
@ -310,7 +310,7 @@ func TestProposalPassedEndblocker(t *testing.T) {
|
||||||
deposits := initialModuleAccCoins.Add(proposal.TotalDeposit...).Add(proposalCoins...)
|
deposits := initialModuleAccCoins.Add(proposal.TotalDeposit...).Add(proposalCoins...)
|
||||||
require.True(t, moduleAccCoins.IsEqual(deposits))
|
require.True(t, moduleAccCoins.IsEqual(deposits))
|
||||||
|
|
||||||
err = app.GovKeeper.AddVote(ctx, proposal.Id, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes))
|
err = app.GovKeeper.AddVote(ctx, proposal.Id, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), "")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
newHeader := ctx.BlockHeader()
|
newHeader := ctx.BlockHeader()
|
||||||
|
@ -354,7 +354,7 @@ func TestEndBlockerProposalHandlerFailed(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NotNil(t, res)
|
require.NotNil(t, res)
|
||||||
|
|
||||||
err = app.GovKeeper.AddVote(ctx, proposal.Id, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes))
|
err = app.GovKeeper.AddVote(ctx, proposal.Id, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), "")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
newHeader := ctx.BlockHeader()
|
newHeader := ctx.BlockHeader()
|
||||||
|
|
|
@ -31,6 +31,7 @@ const (
|
||||||
flagVoter = "voter"
|
flagVoter = "voter"
|
||||||
flagDepositor = "depositor"
|
flagDepositor = "depositor"
|
||||||
flagStatus = "status"
|
flagStatus = "status"
|
||||||
|
flagMetadata = "metadata"
|
||||||
// Deprecated: only used for v1beta1 legacy proposals.
|
// Deprecated: only used for v1beta1 legacy proposals.
|
||||||
FlagProposal = "proposal"
|
FlagProposal = "proposal"
|
||||||
)
|
)
|
||||||
|
@ -282,13 +283,19 @@ $ %s tx gov vote 1 yes --from mykey
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
metadata, err := cmd.Flags().GetString(flagMetadata)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// Build vote message and run basic validation
|
// Build vote message and run basic validation
|
||||||
msg := v1beta2.NewMsgVote(from, proposalID, byteVoteOption)
|
msg := v1beta2.NewMsgVote(from, proposalID, byteVoteOption, metadata)
|
||||||
|
|
||||||
return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg)
|
return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmd.Flags().String(flagMetadata, "", "Specify metadata of the vote")
|
||||||
flags.AddTxFlagsToCmd(cmd)
|
flags.AddTxFlagsToCmd(cmd)
|
||||||
|
|
||||||
return cmd
|
return cmd
|
||||||
|
@ -331,12 +338,18 @@ $ %s tx gov weighted-vote 1 yes=0.6,no=0.3,abstain=0.05,no_with_veto=0.05 --from
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
metadata, err := cmd.Flags().GetString(flagMetadata)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// Build vote message and run basic validation
|
// Build vote message and run basic validation
|
||||||
msg := v1beta2.NewMsgVoteWeighted(from, proposalID, options)
|
msg := v1beta2.NewMsgVoteWeighted(from, proposalID, options, metadata)
|
||||||
return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg)
|
return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmd.Flags().String(flagMetadata, "", "Specify metadata of the weighted vote")
|
||||||
flags.AddTxFlagsToCmd(cmd)
|
flags.AddTxFlagsToCmd(cmd)
|
||||||
|
|
||||||
return cmd
|
return cmd
|
||||||
|
|
|
@ -879,6 +879,7 @@ func (s *IntegrationTestSuite) TestNewCmdVote() {
|
||||||
fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()),
|
fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()),
|
||||||
fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation),
|
fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation),
|
||||||
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock),
|
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock),
|
||||||
|
fmt.Sprintf("--metadata=%s", "AQ=="),
|
||||||
fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()),
|
fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()),
|
||||||
},
|
},
|
||||||
false, 2,
|
false, 2,
|
||||||
|
@ -895,6 +896,19 @@ func (s *IntegrationTestSuite) TestNewCmdVote() {
|
||||||
},
|
},
|
||||||
false, 0,
|
false, 0,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"valid vote with metadata",
|
||||||
|
[]string{
|
||||||
|
"1",
|
||||||
|
"yes",
|
||||||
|
fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()),
|
||||||
|
fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation),
|
||||||
|
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock),
|
||||||
|
fmt.Sprintf("--metadata=%s", "AQ=="),
|
||||||
|
fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()),
|
||||||
|
},
|
||||||
|
false, 0,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range testCases {
|
for _, tc := range testCases {
|
||||||
|
@ -955,6 +969,19 @@ func (s *IntegrationTestSuite) TestNewCmdWeightedVote() {
|
||||||
},
|
},
|
||||||
false, 0,
|
false, 0,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"valid vote with metadata",
|
||||||
|
[]string{
|
||||||
|
"1",
|
||||||
|
"yes",
|
||||||
|
fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()),
|
||||||
|
fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation),
|
||||||
|
fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock),
|
||||||
|
fmt.Sprintf("--metadata=%s", "AQ=="),
|
||||||
|
fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()),
|
||||||
|
},
|
||||||
|
false, 0,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"invalid valid split vote string",
|
"invalid valid split vote string",
|
||||||
[]string{
|
[]string{
|
||||||
|
|
|
@ -88,12 +88,12 @@ func TestGetPaginatedVotes(t *testing.T) {
|
||||||
acc2 := make(sdk.AccAddress, 20)
|
acc2 := make(sdk.AccAddress, 20)
|
||||||
acc2[0] = 2
|
acc2[0] = 2
|
||||||
acc1Msgs := []sdk.Msg{
|
acc1Msgs := []sdk.Msg{
|
||||||
v1beta2.NewMsgVote(acc1, 0, v1beta2.OptionYes),
|
v1beta2.NewMsgVote(acc1, 0, v1beta2.OptionYes, ""),
|
||||||
v1beta2.NewMsgVote(acc1, 0, v1beta2.OptionYes),
|
v1beta2.NewMsgVote(acc1, 0, v1beta2.OptionYes, ""),
|
||||||
}
|
}
|
||||||
acc2Msgs := []sdk.Msg{
|
acc2Msgs := []sdk.Msg{
|
||||||
v1beta2.NewMsgVote(acc2, 0, v1beta2.OptionYes),
|
v1beta2.NewMsgVote(acc2, 0, v1beta2.OptionYes, ""),
|
||||||
v1beta2.NewMsgVoteWeighted(acc2, 0, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)),
|
v1beta2.NewMsgVoteWeighted(acc2, 0, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""),
|
||||||
}
|
}
|
||||||
for _, tc := range []testCase{
|
for _, tc := range []testCase{
|
||||||
{
|
{
|
||||||
|
@ -105,8 +105,8 @@ func TestGetPaginatedVotes(t *testing.T) {
|
||||||
acc2Msgs[:1],
|
acc2Msgs[:1],
|
||||||
},
|
},
|
||||||
votes: []v1beta2.Vote{
|
votes: []v1beta2.Vote{
|
||||||
v1beta2.NewVote(0, acc1, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)),
|
v1beta2.NewVote(0, acc1, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""),
|
||||||
v1beta2.NewVote(0, acc2, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes))},
|
v1beta2.NewVote(0, acc2, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), "")},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
description: "2MsgPerTx1Chunk",
|
description: "2MsgPerTx1Chunk",
|
||||||
|
@ -117,8 +117,8 @@ func TestGetPaginatedVotes(t *testing.T) {
|
||||||
acc2Msgs,
|
acc2Msgs,
|
||||||
},
|
},
|
||||||
votes: []v1beta2.Vote{
|
votes: []v1beta2.Vote{
|
||||||
v1beta2.NewVote(0, acc1, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)),
|
v1beta2.NewVote(0, acc1, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""),
|
||||||
v1beta2.NewVote(0, acc1, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)),
|
v1beta2.NewVote(0, acc1, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -130,8 +130,8 @@ func TestGetPaginatedVotes(t *testing.T) {
|
||||||
acc2Msgs,
|
acc2Msgs,
|
||||||
},
|
},
|
||||||
votes: []v1beta2.Vote{
|
votes: []v1beta2.Vote{
|
||||||
v1beta2.NewVote(0, acc2, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)),
|
v1beta2.NewVote(0, acc2, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""),
|
||||||
v1beta2.NewVote(0, acc2, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)),
|
v1beta2.NewVote(0, acc2, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -141,7 +141,7 @@ func TestGetPaginatedVotes(t *testing.T) {
|
||||||
msgs: [][]sdk.Msg{
|
msgs: [][]sdk.Msg{
|
||||||
acc1Msgs[:1],
|
acc1Msgs[:1],
|
||||||
},
|
},
|
||||||
votes: []v1beta2.Vote{v1beta2.NewVote(0, acc1, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes))},
|
votes: []v1beta2.Vote{v1beta2.NewVote(0, acc1, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), "")},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
description: "InvalidPage",
|
description: "InvalidPage",
|
||||||
|
|
|
@ -190,7 +190,7 @@ func (suite *KeeperTestSuite) TestGRPCQueryProposals() {
|
||||||
for i := 0; i < 5; i++ {
|
for i := 0; i < 5; i++ {
|
||||||
govAddress := app.GovKeeper.GetGovernanceAccount(suite.ctx).GetAddress()
|
govAddress := app.GovKeeper.GetGovernanceAccount(suite.ctx).GetAddress()
|
||||||
testProposal := []sdk.Msg{
|
testProposal := []sdk.Msg{
|
||||||
v1beta2.NewMsgVote(govAddress, uint64(i), v1beta2.OptionYes),
|
v1beta2.NewMsgVote(govAddress, uint64(i), v1beta2.OptionYes, ""),
|
||||||
}
|
}
|
||||||
proposal, err := app.GovKeeper.SubmitProposal(ctx, testProposal, "")
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, testProposal, "")
|
||||||
suite.Require().NotEmpty(proposal)
|
suite.Require().NotEmpty(proposal)
|
||||||
|
@ -269,7 +269,7 @@ func (suite *KeeperTestSuite) TestGRPCQueryProposals() {
|
||||||
func() {
|
func() {
|
||||||
testProposals[1].Status = v1beta2.StatusVotingPeriod
|
testProposals[1].Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, *testProposals[1])
|
app.GovKeeper.SetProposal(ctx, *testProposals[1])
|
||||||
suite.Require().NoError(app.GovKeeper.AddVote(ctx, testProposals[1].Id, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionAbstain)))
|
suite.Require().NoError(app.GovKeeper.AddVote(ctx, testProposals[1].Id, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionAbstain), ""))
|
||||||
|
|
||||||
req = &v1beta2.QueryProposalsRequest{
|
req = &v1beta2.QueryProposalsRequest{
|
||||||
Voter: addrs[0].String(),
|
Voter: addrs[0].String(),
|
||||||
|
@ -384,7 +384,7 @@ func (suite *KeeperTestSuite) TestGRPCQueryVote() {
|
||||||
func() {
|
func() {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionAbstain)))
|
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionAbstain), ""))
|
||||||
|
|
||||||
req = &v1beta2.QueryVoteRequest{
|
req = &v1beta2.QueryVoteRequest{
|
||||||
ProposalId: proposal.Id,
|
ProposalId: proposal.Id,
|
||||||
|
@ -495,8 +495,8 @@ func (suite *KeeperTestSuite) TestGRPCQueryVotes() {
|
||||||
accAddr2, err2 := sdk.AccAddressFromBech32(votes[1].Voter)
|
accAddr2, err2 := sdk.AccAddressFromBech32(votes[1].Voter)
|
||||||
suite.Require().NoError(err1)
|
suite.Require().NoError(err1)
|
||||||
suite.Require().NoError(err2)
|
suite.Require().NoError(err2)
|
||||||
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, accAddr1, votes[0].Options))
|
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, accAddr1, votes[0].Options, ""))
|
||||||
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, accAddr2, votes[1].Options))
|
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, accAddr2, votes[1].Options, ""))
|
||||||
|
|
||||||
req = &v1beta2.QueryVotesRequest{
|
req = &v1beta2.QueryVotesRequest{
|
||||||
ProposalId: proposal.Id,
|
ProposalId: proposal.Id,
|
||||||
|
@ -596,8 +596,8 @@ func (suite *KeeperTestSuite) TestLegacyGRPCQueryVotes() {
|
||||||
accAddr2, err2 := sdk.AccAddressFromBech32(votes[1].Voter)
|
accAddr2, err2 := sdk.AccAddressFromBech32(votes[1].Voter)
|
||||||
suite.Require().NoError(err1)
|
suite.Require().NoError(err1)
|
||||||
suite.Require().NoError(err2)
|
suite.Require().NoError(err2)
|
||||||
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, accAddr1, v1beta2.NewNonSplitVoteOption(v1beta2.OptionAbstain)))
|
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, accAddr1, v1beta2.NewNonSplitVoteOption(v1beta2.OptionAbstain), ""))
|
||||||
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, accAddr2, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, accAddr2, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
|
|
||||||
req = &v1beta1.QueryVotesRequest{
|
req = &v1beta1.QueryVotesRequest{
|
||||||
ProposalId: proposal.Id,
|
ProposalId: proposal.Id,
|
||||||
|
@ -1055,9 +1055,9 @@ func (suite *KeeperTestSuite) TestGRPCQueryTally() {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
suite.Require().NoError(app.GovKeeper.AddVote(ctx, proposal.Id, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
|
|
||||||
req = &v1beta2.QueryTallyResultRequest{ProposalId: proposal.Id}
|
req = &v1beta2.QueryTallyResultRequest{ProposalId: proposal.Id}
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,7 @@ func TestHooks(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.True(t, govHooksReceiver.AfterProposalDepositValid)
|
require.True(t, govHooksReceiver.AfterProposalDepositValid)
|
||||||
|
|
||||||
err = app.GovKeeper.AddVote(ctx, p2.Id, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes))
|
err = app.GovKeeper.AddVote(ctx, p2.Id, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), "")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.True(t, govHooksReceiver.AfterProposalVoteValid)
|
require.True(t, govHooksReceiver.AfterProposalVoteValid)
|
||||||
|
|
||||||
|
|
|
@ -197,3 +197,12 @@ func (keeper Keeper) InactiveProposalQueueIterator(ctx sdk.Context, endTime time
|
||||||
store := ctx.KVStore(keeper.storeKey)
|
store := ctx.KVStore(keeper.storeKey)
|
||||||
return store.Iterator(types.InactiveProposalQueuePrefix, sdk.PrefixEndBytes(types.InactiveProposalByTimeKey(endTime)))
|
return store.Iterator(types.InactiveProposalQueuePrefix, sdk.PrefixEndBytes(types.InactiveProposalByTimeKey(endTime)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// assertMetadataLength returns an error if given metadata length
|
||||||
|
// is greater than a pre-defined maxMetadataLen.
|
||||||
|
func (k Keeper) assertMetadataLength(metadata string) error {
|
||||||
|
if metadata != "" && uint64(len(metadata)) > k.config.MaxMetadataLen {
|
||||||
|
return types.ErrMetadataTooLong.Wrapf("got metadata with length %d", len(metadata))
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
|
@ -114,7 +114,7 @@ func (k msgServer) Vote(goCtx context.Context, msg *v1beta2.MsgVote) (*v1beta2.M
|
||||||
if accErr != nil {
|
if accErr != nil {
|
||||||
return nil, accErr
|
return nil, accErr
|
||||||
}
|
}
|
||||||
err := k.Keeper.AddVote(ctx, msg.ProposalId, accAddr, v1beta2.NewNonSplitVoteOption(msg.Option))
|
err := k.Keeper.AddVote(ctx, msg.ProposalId, accAddr, v1beta2.NewNonSplitVoteOption(msg.Option), msg.Metadata)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -144,7 +144,7 @@ func (k msgServer) VoteWeighted(goCtx context.Context, msg *v1beta2.MsgVoteWeigh
|
||||||
if accErr != nil {
|
if accErr != nil {
|
||||||
return nil, accErr
|
return nil, accErr
|
||||||
}
|
}
|
||||||
err := k.Keeper.AddVote(ctx, msg.ProposalId, accAddr, msg.Options)
|
err := k.Keeper.AddVote(ctx, msg.ProposalId, accAddr, msg.Options, msg.Metadata)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,8 +12,9 @@ import (
|
||||||
|
|
||||||
// SubmitProposal create new proposal given an array of messages
|
// SubmitProposal create new proposal given an array of messages
|
||||||
func (keeper Keeper) SubmitProposal(ctx sdk.Context, messages []sdk.Msg, metadata string) (v1beta2.Proposal, error) {
|
func (keeper Keeper) SubmitProposal(ctx sdk.Context, messages []sdk.Msg, metadata string) (v1beta2.Proposal, error) {
|
||||||
if metadata != "" && uint64(len(metadata)) > keeper.config.MaxMetadataLen {
|
err := keeper.assertMetadataLength(metadata)
|
||||||
return v1beta2.Proposal{}, types.ErrMetadataTooLong.Wrapf("got metadata with length %d", len(metadata))
|
if err != nil {
|
||||||
|
return v1beta2.Proposal{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Will hold a comma-separated string of all Msg type URLs.
|
// Will hold a comma-separated string of all Msg type URLs.
|
||||||
|
|
|
@ -101,7 +101,7 @@ func (suite *KeeperTestSuite) TestGetProposalsFiltered() {
|
||||||
|
|
||||||
if i%2 == 0 {
|
if i%2 == 0 {
|
||||||
d := v1beta2.NewDeposit(proposalID, addr1, nil)
|
d := v1beta2.NewDeposit(proposalID, addr1, nil)
|
||||||
v := v1beta2.NewVote(proposalID, addr1, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes))
|
v := v1beta2.NewVote(proposalID, addr1, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), "")
|
||||||
suite.app.GovKeeper.SetDeposit(suite.ctx, d)
|
suite.app.GovKeeper.SetDeposit(suite.ctx, d)
|
||||||
suite.app.GovKeeper.SetVote(suite.ctx, v)
|
suite.app.GovKeeper.SetVote(suite.ctx, v)
|
||||||
}
|
}
|
||||||
|
|
|
@ -254,13 +254,13 @@ func TestQueries(t *testing.T) {
|
||||||
checkEqualProposal(t, proposal3, *proposals[1])
|
checkEqualProposal(t, proposal3, *proposals[1])
|
||||||
|
|
||||||
// Addrs[0] votes on proposals #2 & #3
|
// Addrs[0] votes on proposals #2 & #3
|
||||||
vote1 := v1beta2.NewVote(proposal2.Id, TestAddrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes))
|
vote1 := v1beta2.NewVote(proposal2.Id, TestAddrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), "")
|
||||||
vote2 := v1beta2.NewVote(proposal3.Id, TestAddrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes))
|
vote2 := v1beta2.NewVote(proposal3.Id, TestAddrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), "")
|
||||||
app.GovKeeper.SetVote(ctx, vote1)
|
app.GovKeeper.SetVote(ctx, vote1)
|
||||||
app.GovKeeper.SetVote(ctx, vote2)
|
app.GovKeeper.SetVote(ctx, vote2)
|
||||||
|
|
||||||
// Addrs[1] votes on proposal #3
|
// Addrs[1] votes on proposal #3
|
||||||
vote3 := v1beta2.NewVote(proposal3.Id, TestAddrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes))
|
vote3 := v1beta2.NewVote(proposal3.Id, TestAddrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), "")
|
||||||
app.GovKeeper.SetVote(ctx, vote3)
|
app.GovKeeper.SetVote(ctx, vote3)
|
||||||
|
|
||||||
// Test query voted by TestAddrs[0]
|
// Test query voted by TestAddrs[0]
|
||||||
|
|
|
@ -50,7 +50,7 @@ func TestTallyNoQuorum(t *testing.T) {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
err = app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes))
|
err = app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), "")
|
||||||
require.Nil(t, err)
|
require.Nil(t, err)
|
||||||
|
|
||||||
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
|
@ -73,9 +73,9 @@ func TestTallyOnlyValidatorsAllYes(t *testing.T) {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
|
|
||||||
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
|
@ -99,8 +99,8 @@ func TestTallyOnlyValidators51No(t *testing.T) {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), ""))
|
||||||
|
|
||||||
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
|
@ -123,8 +123,8 @@ func TestTallyOnlyValidators51Yes(t *testing.T) {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
|
|
||||||
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
|
@ -148,9 +148,9 @@ func TestTallyOnlyValidatorsVetoed(t *testing.T) {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNoWithVeto)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNoWithVeto), ""))
|
||||||
|
|
||||||
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
|
@ -174,9 +174,9 @@ func TestTallyOnlyValidatorsAbstainPasses(t *testing.T) {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionAbstain)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionAbstain), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
|
|
||||||
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
|
@ -200,9 +200,9 @@ func TestTallyOnlyValidatorsAbstainFails(t *testing.T) {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionAbstain)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionAbstain), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), ""))
|
||||||
|
|
||||||
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
|
@ -227,8 +227,8 @@ func TestTallyOnlyValidatorsNonVoter(t *testing.T) {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddr1, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddr1, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddr2, v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddr2, v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), ""))
|
||||||
|
|
||||||
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
|
@ -261,10 +261,10 @@ func TestTallyDelgatorOverride(t *testing.T) {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[3], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[3], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[4], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[4], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), ""))
|
||||||
|
|
||||||
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
|
@ -297,9 +297,9 @@ func TestTallyDelgatorInherit(t *testing.T) {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
|
|
||||||
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
|
@ -336,10 +336,10 @@ func TestTallyDelgatorMultipleOverride(t *testing.T) {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[3], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[3], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), ""))
|
||||||
|
|
||||||
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
|
@ -378,9 +378,9 @@ func TestTallyDelgatorMultipleInherit(t *testing.T) {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), ""))
|
||||||
|
|
||||||
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
|
@ -421,9 +421,9 @@ func TestTallyJailedValidator(t *testing.T) {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), ""))
|
||||||
|
|
||||||
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
|
@ -454,9 +454,9 @@ func TestTallyValidatorMultipleDelegations(t *testing.T) {
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), ""))
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
|
|
||||||
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
proposal, ok := app.GovKeeper.GetProposal(ctx, proposalID)
|
||||||
require.True(t, ok)
|
require.True(t, ok)
|
||||||
|
|
|
@ -10,7 +10,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// AddVote adds a vote on a specific proposal
|
// AddVote adds a vote on a specific proposal
|
||||||
func (keeper Keeper) AddVote(ctx sdk.Context, proposalID uint64, voterAddr sdk.AccAddress, options v1beta2.WeightedVoteOptions) error {
|
func (keeper Keeper) AddVote(ctx sdk.Context, proposalID uint64, voterAddr sdk.AccAddress, options v1beta2.WeightedVoteOptions, metadata string) error {
|
||||||
proposal, ok := keeper.GetProposal(ctx, proposalID)
|
proposal, ok := keeper.GetProposal(ctx, proposalID)
|
||||||
if !ok {
|
if !ok {
|
||||||
return sdkerrors.Wrapf(types.ErrUnknownProposal, "%d", proposalID)
|
return sdkerrors.Wrapf(types.ErrUnknownProposal, "%d", proposalID)
|
||||||
|
@ -18,6 +18,10 @@ func (keeper Keeper) AddVote(ctx sdk.Context, proposalID uint64, voterAddr sdk.A
|
||||||
if proposal.Status != v1beta2.StatusVotingPeriod {
|
if proposal.Status != v1beta2.StatusVotingPeriod {
|
||||||
return sdkerrors.Wrapf(types.ErrInactiveProposal, "%d", proposalID)
|
return sdkerrors.Wrapf(types.ErrInactiveProposal, "%d", proposalID)
|
||||||
}
|
}
|
||||||
|
err := keeper.assertMetadataLength(metadata)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
for _, option := range options {
|
for _, option := range options {
|
||||||
if !v1beta2.ValidWeightedVoteOption(*option) {
|
if !v1beta2.ValidWeightedVoteOption(*option) {
|
||||||
|
@ -25,7 +29,7 @@ func (keeper Keeper) AddVote(ctx sdk.Context, proposalID uint64, voterAddr sdk.A
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vote := v1beta2.NewVote(proposalID, voterAddr, options)
|
vote := v1beta2.NewVote(proposalID, voterAddr, options, metadata)
|
||||||
keeper.SetVote(ctx, vote)
|
keeper.SetVote(ctx, vote)
|
||||||
|
|
||||||
// called after a vote on a proposal is cast
|
// called after a vote on a proposal is cast
|
||||||
|
|
|
@ -21,19 +21,20 @@ func TestVotes(t *testing.T) {
|
||||||
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "")
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
proposalID := proposal.Id
|
proposalID := proposal.Id
|
||||||
|
metadata := "metadata"
|
||||||
|
|
||||||
var invalidOption v1beta2.VoteOption = 0x10
|
var invalidOption v1beta2.VoteOption = 0x10
|
||||||
|
|
||||||
require.Error(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)), "proposal not on voting period")
|
require.Error(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), metadata), "proposal not on voting period")
|
||||||
require.Error(t, app.GovKeeper.AddVote(ctx, 10, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)), "invalid proposal ID")
|
require.Error(t, app.GovKeeper.AddVote(ctx, 10, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""), "invalid proposal ID")
|
||||||
|
|
||||||
proposal.Status = v1beta2.StatusVotingPeriod
|
proposal.Status = v1beta2.StatusVotingPeriod
|
||||||
app.GovKeeper.SetProposal(ctx, proposal)
|
app.GovKeeper.SetProposal(ctx, proposal)
|
||||||
|
|
||||||
require.Error(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(invalidOption)), "invalid option")
|
require.Error(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(invalidOption), ""), "invalid option")
|
||||||
|
|
||||||
// Test first vote
|
// Test first vote
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionAbstain)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionAbstain), metadata))
|
||||||
vote, found := app.GovKeeper.GetVote(ctx, proposalID, addrs[0])
|
vote, found := app.GovKeeper.GetVote(ctx, proposalID, addrs[0])
|
||||||
require.True(t, found)
|
require.True(t, found)
|
||||||
require.Equal(t, addrs[0].String(), vote.Voter)
|
require.Equal(t, addrs[0].String(), vote.Voter)
|
||||||
|
@ -42,7 +43,7 @@ func TestVotes(t *testing.T) {
|
||||||
require.Equal(t, v1beta2.OptionAbstain, vote.Options[0].Option)
|
require.Equal(t, v1beta2.OptionAbstain, vote.Options[0].Option)
|
||||||
|
|
||||||
// Test change of vote
|
// Test change of vote
|
||||||
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes)))
|
require.NoError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), ""))
|
||||||
vote, found = app.GovKeeper.GetVote(ctx, proposalID, addrs[0])
|
vote, found = app.GovKeeper.GetVote(ctx, proposalID, addrs[0])
|
||||||
require.True(t, found)
|
require.True(t, found)
|
||||||
require.Equal(t, addrs[0].String(), vote.Voter)
|
require.Equal(t, addrs[0].String(), vote.Voter)
|
||||||
|
@ -56,7 +57,7 @@ func TestVotes(t *testing.T) {
|
||||||
v1beta2.NewWeightedVoteOption(v1beta2.OptionNo, sdk.NewDecWithPrec(30, 2)),
|
v1beta2.NewWeightedVoteOption(v1beta2.OptionNo, sdk.NewDecWithPrec(30, 2)),
|
||||||
v1beta2.NewWeightedVoteOption(v1beta2.OptionAbstain, sdk.NewDecWithPrec(5, 2)),
|
v1beta2.NewWeightedVoteOption(v1beta2.OptionAbstain, sdk.NewDecWithPrec(5, 2)),
|
||||||
v1beta2.NewWeightedVoteOption(v1beta2.OptionNoWithVeto, sdk.NewDecWithPrec(5, 2)),
|
v1beta2.NewWeightedVoteOption(v1beta2.OptionNoWithVeto, sdk.NewDecWithPrec(5, 2)),
|
||||||
}))
|
}, ""))
|
||||||
vote, found = app.GovKeeper.GetVote(ctx, proposalID, addrs[1])
|
vote, found = app.GovKeeper.GetVote(ctx, proposalID, addrs[1])
|
||||||
require.True(t, found)
|
require.True(t, found)
|
||||||
require.Equal(t, addrs[1].String(), vote.Voter)
|
require.Equal(t, addrs[1].String(), vote.Voter)
|
||||||
|
|
|
@ -125,6 +125,7 @@ func TestMigrateJSON(t *testing.T) {
|
||||||
},
|
},
|
||||||
"votes": [
|
"votes": [
|
||||||
{
|
{
|
||||||
|
"metadata": "",
|
||||||
"options": [
|
"options": [
|
||||||
{
|
{
|
||||||
"option": "VOTE_OPTION_ABSTAIN",
|
"option": "VOTE_OPTION_ABSTAIN",
|
||||||
|
@ -135,6 +136,7 @@ func TestMigrateJSON(t *testing.T) {
|
||||||
"voter": "cosmos1fl48vsnmsdzcv85q5d2q4z5ajdha8yu34mf0eh"
|
"voter": "cosmos1fl48vsnmsdzcv85q5d2q4z5ajdha8yu34mf0eh"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"metadata": "",
|
||||||
"options": [
|
"options": [
|
||||||
{
|
{
|
||||||
"option": "VOTE_OPTION_NO",
|
"option": "VOTE_OPTION_NO",
|
||||||
|
|
|
@ -301,7 +301,7 @@ func operationSimulateMsgVote(ak types.AccountKeeper, bk types.BankKeeper, k kee
|
||||||
}
|
}
|
||||||
|
|
||||||
option := randomVotingOption(r)
|
option := randomVotingOption(r)
|
||||||
msg := v1beta2.NewMsgVote(simAccount.Address, proposalID, option)
|
msg := v1beta2.NewMsgVote(simAccount.Address, proposalID, option, "")
|
||||||
|
|
||||||
account := ak.GetAccount(ctx, simAccount.Address)
|
account := ak.GetAccount(ctx, simAccount.Address)
|
||||||
spendable := bk.SpendableCoins(ctx, account.GetAddress())
|
spendable := bk.SpendableCoins(ctx, account.GetAddress())
|
||||||
|
@ -354,7 +354,7 @@ func operationSimulateMsgVoteWeighted(ak types.AccountKeeper, bk types.BankKeepe
|
||||||
}
|
}
|
||||||
|
|
||||||
options := randomWeightedVotingOptions(r)
|
options := randomWeightedVotingOptions(r)
|
||||||
msg := v1beta2.NewMsgVoteWeighted(simAccount.Address, proposalID, options)
|
msg := v1beta2.NewMsgVoteWeighted(simAccount.Address, proposalID, options, "")
|
||||||
|
|
||||||
account := ak.GetAccount(ctx, simAccount.Address)
|
account := ak.GetAccount(ctx, simAccount.Address)
|
||||||
spendable := bk.SpendableCoins(ctx, account.GetAddress())
|
spendable := bk.SpendableCoins(ctx, account.GetAddress())
|
||||||
|
|
|
@ -431,6 +431,8 @@ type Vote struct {
|
||||||
ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"`
|
ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"`
|
||||||
Voter string `protobuf:"bytes,2,opt,name=voter,proto3" json:"voter,omitempty"`
|
Voter string `protobuf:"bytes,2,opt,name=voter,proto3" json:"voter,omitempty"`
|
||||||
Options []*WeightedVoteOption `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"`
|
Options []*WeightedVoteOption `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"`
|
||||||
|
// metadata is any arbitrary metadata to attached to the vote.
|
||||||
|
Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Vote) Reset() { *m = Vote{} }
|
func (m *Vote) Reset() { *m = Vote{} }
|
||||||
|
@ -487,6 +489,13 @@ func (m *Vote) GetOptions() []*WeightedVoteOption {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *Vote) GetMetadata() string {
|
||||||
|
if m != nil {
|
||||||
|
return m.Metadata
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
// DepositParams defines the params for deposits on governance proposals.
|
// DepositParams defines the params for deposits on governance proposals.
|
||||||
type DepositParams struct {
|
type DepositParams struct {
|
||||||
// Minimum deposit for a proposal to enter voting period.
|
// Minimum deposit for a proposal to enter voting period.
|
||||||
|
@ -671,76 +680,77 @@ func init() {
|
||||||
func init() { proto.RegisterFile("cosmos/gov/v1beta2/gov.proto", fileDescriptor_5abf7b8852811c49) }
|
func init() { proto.RegisterFile("cosmos/gov/v1beta2/gov.proto", fileDescriptor_5abf7b8852811c49) }
|
||||||
|
|
||||||
var fileDescriptor_5abf7b8852811c49 = []byte{
|
var fileDescriptor_5abf7b8852811c49 = []byte{
|
||||||
// 1101 bytes of a gzipped FileDescriptorProto
|
// 1108 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0x41, 0x53, 0xdb, 0x46,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0x41, 0x53, 0xdb, 0x46,
|
||||||
0x14, 0x46, 0xb6, 0x30, 0xe6, 0x19, 0x8c, 0xba, 0xd0, 0x46, 0x10, 0x62, 0x53, 0x4f, 0x9b, 0xa1,
|
0x14, 0x46, 0xb6, 0x30, 0xe6, 0x19, 0x8c, 0xba, 0xd0, 0x46, 0x10, 0x62, 0x53, 0x4f, 0x9b, 0xa1,
|
||||||
0xb4, 0xd8, 0x81, 0xcc, 0xa4, 0x33, 0xe9, 0xa5, 0x36, 0x56, 0x1a, 0x33, 0x14, 0xbb, 0x92, 0x62,
|
0xb4, 0xd8, 0x81, 0xcc, 0xa4, 0x33, 0xe9, 0xa5, 0x36, 0x56, 0x1a, 0x33, 0x14, 0xbb, 0x92, 0x62,
|
||||||
0x26, 0xbd, 0x68, 0x64, 0xb4, 0xb1, 0x35, 0xb5, 0xb4, 0xae, 0x76, 0x4d, 0xf0, 0x4f, 0xe8, 0x2d,
|
0x26, 0xbd, 0x68, 0x64, 0xb4, 0xb1, 0x35, 0xb5, 0xb4, 0xae, 0x76, 0x4d, 0xf0, 0x4f, 0xe8, 0x2d,
|
||||||
0xc7, 0xce, 0xf4, 0xd0, 0x3f, 0x91, 0x1f, 0x91, 0x53, 0x27, 0x93, 0x4b, 0xdb, 0x8b, 0x9b, 0xc2,
|
0xc7, 0xce, 0xf4, 0x6f, 0xe4, 0xd6, 0x3f, 0x90, 0x53, 0x27, 0x93, 0x4b, 0xdb, 0x8b, 0x9b, 0xc2,
|
||||||
0x8d, 0x5f, 0x91, 0xd1, 0x6a, 0x85, 0x8d, 0x71, 0x06, 0x4e, 0x96, 0xde, 0xfb, 0xbe, 0xef, 0xbd,
|
0x8d, 0x5f, 0x91, 0xd1, 0x6a, 0x85, 0x8d, 0x71, 0x06, 0x4e, 0x96, 0xdf, 0xfb, 0xbe, 0xef, 0xbd,
|
||||||
0xb7, 0xfb, 0xed, 0x5a, 0xb0, 0x7e, 0x4c, 0xa8, 0x47, 0x68, 0xa9, 0x4d, 0x4e, 0x4a, 0x27, 0x3b,
|
0xb7, 0xfb, 0xed, 0x4a, 0xb0, 0x7e, 0x4c, 0xa8, 0x47, 0x68, 0xa9, 0x4d, 0x4e, 0x4a, 0x27, 0x3b,
|
||||||
0x2d, 0xcc, 0xec, 0xdd, 0xf0, 0xb9, 0xd8, 0x0b, 0x08, 0x23, 0x08, 0x45, 0xd9, 0x62, 0x18, 0x11,
|
0x2d, 0xcc, 0xec, 0xdd, 0xf0, 0xb9, 0xd8, 0x0b, 0x08, 0x23, 0x08, 0x45, 0xd9, 0x62, 0x18, 0x11,
|
||||||
0xd9, 0xb5, 0x9c, 0x60, 0xb4, 0x6c, 0x8a, 0x05, 0x65, 0xa7, 0x74, 0x4c, 0x5c, 0x3f, 0xe2, 0xac,
|
0xd9, 0xb5, 0x9c, 0x60, 0xb4, 0x6c, 0x8a, 0x05, 0x65, 0xa7, 0x74, 0x4c, 0x5c, 0x3f, 0xe2, 0xac,
|
||||||
0xad, 0xb4, 0x49, 0x9b, 0xf0, 0xc7, 0x52, 0xf8, 0x24, 0xa2, 0xf9, 0x36, 0x21, 0xed, 0x2e, 0x2e,
|
0xad, 0xb4, 0x49, 0x9b, 0xf0, 0xc7, 0x52, 0xf8, 0x24, 0xa2, 0xf9, 0x36, 0x21, 0xed, 0x2e, 0x2e,
|
||||||
0xf1, 0xb7, 0x56, 0xff, 0x45, 0x89, 0xb9, 0x1e, 0xa6, 0xcc, 0xf6, 0x7a, 0x02, 0xb0, 0x3a, 0x09,
|
0xf1, 0x7f, 0xad, 0xfe, 0x8b, 0x12, 0x73, 0x3d, 0x4c, 0x99, 0xed, 0xf5, 0x04, 0x60, 0x75, 0x12,
|
||||||
0xb0, 0xfd, 0x81, 0x48, 0xe5, 0x26, 0x53, 0x4e, 0x3f, 0xb0, 0x99, 0x4b, 0xe2, 0x8a, 0xab, 0x51,
|
0x60, 0xfb, 0x03, 0x91, 0xca, 0x4d, 0xa6, 0x9c, 0x7e, 0x60, 0x33, 0x97, 0xc4, 0x15, 0x57, 0xa3,
|
||||||
0x47, 0x56, 0x54, 0x54, 0xb4, 0xcc, 0x5f, 0x0a, 0x0c, 0xd0, 0x11, 0x76, 0xdb, 0x1d, 0x86, 0x9d,
|
0x8e, 0xac, 0xa8, 0xa8, 0x68, 0x99, 0xff, 0x29, 0x30, 0x40, 0x47, 0xd8, 0x6d, 0x77, 0x18, 0x76,
|
||||||
0x26, 0x61, 0xb8, 0xde, 0x0b, 0x69, 0xe8, 0x11, 0xa4, 0x08, 0x7f, 0x52, 0xa5, 0x0d, 0x69, 0x33,
|
0x9a, 0x84, 0xe1, 0x7a, 0x2f, 0xa4, 0xa1, 0x47, 0x90, 0x22, 0xfc, 0x49, 0x95, 0x36, 0xa4, 0xcd,
|
||||||
0xbb, 0x9b, 0x2b, 0x5e, 0x9f, 0xb3, 0x38, 0xc2, 0xeb, 0x02, 0x8d, 0xee, 0x43, 0xea, 0x25, 0x57,
|
0xec, 0x6e, 0xae, 0x78, 0x7d, 0xce, 0xe2, 0x08, 0xaf, 0x0b, 0x34, 0xba, 0x0f, 0xa9, 0x97, 0x5c,
|
||||||
0x53, 0x13, 0x1b, 0xd2, 0xe6, 0x7c, 0x25, 0xfb, 0xee, 0xf5, 0x36, 0x08, 0x6a, 0x15, 0x1f, 0xeb,
|
0x4d, 0x4d, 0x6c, 0x48, 0x9b, 0xf3, 0x95, 0xec, 0xbb, 0xd7, 0xdb, 0x20, 0xa8, 0x55, 0x7c, 0xac,
|
||||||
0x22, 0x5b, 0xf8, 0x43, 0x82, 0xb9, 0x2a, 0xee, 0x11, 0xea, 0x32, 0x94, 0x87, 0x4c, 0x2f, 0x20,
|
0x8b, 0x6c, 0xe1, 0x0f, 0x09, 0xe6, 0xaa, 0xb8, 0x47, 0xa8, 0xcb, 0x50, 0x1e, 0x32, 0xbd, 0x80,
|
||||||
0x3d, 0x42, 0xed, 0xae, 0xe5, 0x3a, 0xbc, 0xa0, 0xac, 0x43, 0x1c, 0xaa, 0x39, 0xe8, 0x11, 0xcc,
|
0xf4, 0x08, 0xb5, 0xbb, 0x96, 0xeb, 0xf0, 0x82, 0xb2, 0x0e, 0x71, 0xa8, 0xe6, 0xa0, 0x47, 0x30,
|
||||||
0x3b, 0x11, 0x96, 0x04, 0x42, 0x57, 0x7d, 0xf7, 0x7a, 0x7b, 0x45, 0xe8, 0x96, 0x1d, 0x27, 0xc0,
|
0xef, 0x44, 0x58, 0x12, 0x08, 0x5d, 0xf5, 0xdd, 0xeb, 0xed, 0x15, 0xa1, 0x5b, 0x76, 0x9c, 0x00,
|
||||||
0x94, 0x1a, 0x2c, 0x70, 0xfd, 0xb6, 0x3e, 0x82, 0xa2, 0x6f, 0x21, 0x65, 0x7b, 0xa4, 0xef, 0x33,
|
0x53, 0x6a, 0xb0, 0xc0, 0xf5, 0xdb, 0xfa, 0x08, 0x8a, 0xbe, 0x85, 0x94, 0xed, 0x91, 0xbe, 0xcf,
|
||||||
0x35, 0xb9, 0x91, 0xdc, 0xcc, 0xec, 0xae, 0xc6, 0x43, 0x84, 0x1b, 0x23, 0xa6, 0xd8, 0x29, 0xee,
|
0xd4, 0xe4, 0x46, 0x72, 0x33, 0xb3, 0xbb, 0x1a, 0x0f, 0x11, 0x6e, 0x8c, 0x98, 0x62, 0xa7, 0xb8,
|
||||||
0x11, 0xd7, 0xaf, 0xc8, 0x6f, 0x86, 0xf9, 0x19, 0x5d, 0xc0, 0x0b, 0xef, 0x65, 0x48, 0x37, 0x44,
|
0x47, 0x5c, 0xbf, 0x22, 0xbf, 0x19, 0xe6, 0x67, 0x74, 0x01, 0x2f, 0xbc, 0x97, 0x21, 0xdd, 0x10,
|
||||||
0x7d, 0x94, 0x85, 0xc4, 0x65, 0x57, 0x09, 0xd7, 0x41, 0x0f, 0x20, 0xed, 0x61, 0x4a, 0xed, 0x36,
|
0xf5, 0x51, 0x16, 0x12, 0x97, 0x5d, 0x25, 0x5c, 0x07, 0x3d, 0x80, 0xb4, 0x87, 0x29, 0xb5, 0xdb,
|
||||||
0xa6, 0x6a, 0x82, 0xeb, 0xae, 0x14, 0xa3, 0xe5, 0x2f, 0xc6, 0xcb, 0x5f, 0x2c, 0xfb, 0x03, 0xfd,
|
0x98, 0xaa, 0x09, 0xae, 0xbb, 0x52, 0x8c, 0x96, 0xbf, 0x18, 0x2f, 0x7f, 0xb1, 0xec, 0x0f, 0xf4,
|
||||||
0x12, 0x85, 0x1e, 0x43, 0x8a, 0x32, 0x9b, 0xf5, 0xa9, 0x9a, 0xe4, 0x8b, 0x59, 0x98, 0xb6, 0x98,
|
0x4b, 0x14, 0x7a, 0x0c, 0x29, 0xca, 0x6c, 0xd6, 0xa7, 0x6a, 0x92, 0x2f, 0x66, 0x61, 0xda, 0x62,
|
||||||
0x71, 0x3d, 0x83, 0x23, 0x75, 0xc1, 0x40, 0x3f, 0x02, 0x7a, 0xe1, 0xfa, 0x76, 0xd7, 0x62, 0x76,
|
0xc6, 0xf5, 0x0c, 0x8e, 0xd4, 0x05, 0x03, 0xfd, 0x08, 0xe8, 0x85, 0xeb, 0xdb, 0x5d, 0x8b, 0xd9,
|
||||||
0xb7, 0x3b, 0xb0, 0x02, 0x4c, 0xfb, 0x5d, 0xa6, 0xca, 0x1b, 0xd2, 0x66, 0x66, 0x37, 0x3f, 0x4d,
|
0xdd, 0xee, 0xc0, 0x0a, 0x30, 0xed, 0x77, 0x99, 0x2a, 0x6f, 0x48, 0x9b, 0x99, 0xdd, 0xfc, 0x34,
|
||||||
0xc7, 0x0c, 0x71, 0x3a, 0x87, 0xe9, 0x0a, 0xa7, 0x8e, 0x45, 0x50, 0x19, 0x32, 0xb4, 0xdf, 0xf2,
|
0x1d, 0x33, 0xc4, 0xe9, 0x1c, 0xa6, 0x2b, 0x9c, 0x3a, 0x16, 0x41, 0x65, 0xc8, 0xd0, 0x7e, 0xcb,
|
||||||
0x5c, 0x66, 0x85, 0xee, 0x52, 0x67, 0xb9, 0xce, 0xda, 0xb5, 0xfe, 0xcd, 0xd8, 0x7a, 0x15, 0xf9,
|
0x73, 0x99, 0x15, 0xba, 0x4b, 0x9d, 0xe5, 0x3a, 0x6b, 0xd7, 0xfa, 0x37, 0x63, 0xeb, 0x55, 0xe4,
|
||||||
0xd5, 0x7f, 0x79, 0x49, 0x87, 0x88, 0x14, 0x86, 0xd1, 0x3e, 0x28, 0x62, 0x89, 0x2d, 0xec, 0x3b,
|
0x57, 0xff, 0xe5, 0x25, 0x1d, 0x22, 0x52, 0x18, 0x46, 0xfb, 0xa0, 0x88, 0x25, 0xb6, 0xb0, 0xef,
|
||||||
0x91, 0x4e, 0xea, 0x96, 0x3a, 0x59, 0xc1, 0xd4, 0x7c, 0x87, 0x6b, 0x55, 0x61, 0x91, 0x11, 0x66,
|
0x44, 0x3a, 0xa9, 0x5b, 0xea, 0x64, 0x05, 0x53, 0xf3, 0x1d, 0xae, 0x55, 0x85, 0x45, 0x46, 0x98,
|
||||||
0x77, 0x2d, 0x11, 0x57, 0xe7, 0x6e, 0xb7, 0x51, 0x0b, 0x9c, 0x15, 0x1b, 0xe8, 0x00, 0x3e, 0x39,
|
0xdd, 0xb5, 0x44, 0x5c, 0x9d, 0xbb, 0xdd, 0x46, 0x2d, 0x70, 0x56, 0x6c, 0xa0, 0x03, 0xf8, 0xe4,
|
||||||
0x21, 0xcc, 0xf5, 0xdb, 0x16, 0x65, 0x76, 0x20, 0x46, 0x4b, 0xdf, 0xb2, 0xa5, 0xa5, 0x88, 0x6a,
|
0x84, 0x30, 0xd7, 0x6f, 0x5b, 0x94, 0xd9, 0x81, 0x18, 0x2d, 0x7d, 0xcb, 0x96, 0x96, 0x22, 0xaa,
|
||||||
0x84, 0x4c, 0xde, 0xd3, 0x53, 0x10, 0xa1, 0xd1, 0x78, 0xf3, 0xb7, 0xd4, 0x5a, 0x8c, 0x88, 0xf1,
|
0x11, 0x32, 0x79, 0x4f, 0x4f, 0x41, 0x84, 0x46, 0xe3, 0xcd, 0xdf, 0x52, 0x6b, 0x31, 0x22, 0xc6,
|
||||||
0x74, 0x6b, 0xa1, 0x53, 0x98, 0xed, 0xd8, 0xcc, 0x56, 0x21, 0xb4, 0xad, 0x7e, 0xf9, 0x5e, 0xf8,
|
0xd3, 0xad, 0x85, 0x4e, 0x61, 0xb6, 0x63, 0x33, 0x5b, 0x85, 0xd0, 0xb6, 0xfa, 0xe5, 0xff, 0xc2,
|
||||||
0x5b, 0x82, 0xcc, 0xf8, 0xc6, 0x7c, 0x0d, 0xf3, 0x03, 0x4c, 0xad, 0x63, 0x6e, 0x57, 0xe9, 0xda,
|
0xdf, 0x12, 0x64, 0xc6, 0x37, 0xe6, 0x6b, 0x98, 0x1f, 0x60, 0x6a, 0x1d, 0x73, 0xbb, 0x4a, 0xd7,
|
||||||
0xd9, 0xa9, 0xf9, 0x4c, 0x4f, 0x0f, 0x30, 0xdd, 0x0b, 0xf3, 0xe8, 0x21, 0x2c, 0xda, 0x2d, 0xca,
|
0xce, 0x4e, 0xcd, 0x67, 0x7a, 0x7a, 0x80, 0xe9, 0x5e, 0x98, 0x47, 0x0f, 0x61, 0xd1, 0x6e, 0x51,
|
||||||
0x6c, 0xd7, 0x17, 0x84, 0xc4, 0x54, 0xc2, 0x82, 0x00, 0x45, 0xa4, 0xaf, 0x20, 0xed, 0x13, 0x81,
|
0x66, 0xbb, 0xbe, 0x20, 0x24, 0xa6, 0x12, 0x16, 0x04, 0x28, 0x22, 0x7d, 0x05, 0x69, 0x9f, 0x08,
|
||||||
0x4f, 0x4e, 0xc5, 0xcf, 0xf9, 0x24, 0x82, 0x7e, 0x07, 0xc8, 0x27, 0xd6, 0x4b, 0x97, 0x75, 0xac,
|
0x7c, 0x72, 0x2a, 0x7e, 0xce, 0x27, 0x11, 0xf4, 0x3b, 0x40, 0x3e, 0xb1, 0x5e, 0xba, 0xac, 0x63,
|
||||||
0x13, 0xcc, 0x62, 0x92, 0x3c, 0x95, 0xb4, 0xe4, 0x93, 0x23, 0x97, 0x75, 0x9a, 0x98, 0x45, 0xe4,
|
0x9d, 0x60, 0x16, 0x93, 0xe4, 0xa9, 0xa4, 0x25, 0x9f, 0x1c, 0xb9, 0xac, 0xd3, 0xc4, 0x2c, 0x22,
|
||||||
0xc2, 0x9f, 0x12, 0xc8, 0xe1, 0xcd, 0x70, 0xf3, 0xb9, 0x2e, 0xc2, 0xec, 0x09, 0x61, 0xf8, 0xe6,
|
0x17, 0xfe, 0x94, 0x40, 0x0e, 0x6f, 0x86, 0x9b, 0xcf, 0x75, 0x11, 0x66, 0x4f, 0x08, 0xc3, 0x37,
|
||||||
0x33, 0x1d, 0xc1, 0xd0, 0xf7, 0x30, 0x17, 0x5d, 0x33, 0x54, 0x95, 0xb9, 0x4f, 0xee, 0x4f, 0x3b,
|
0x9f, 0xe9, 0x08, 0x86, 0xbe, 0x87, 0xb9, 0xe8, 0x9a, 0xa1, 0xaa, 0xcc, 0x7d, 0x72, 0x7f, 0xda,
|
||||||
0x00, 0xd7, 0x6f, 0x33, 0x3d, 0xa6, 0xed, 0xcb, 0xe9, 0xa4, 0x22, 0x17, 0xfe, 0x95, 0x60, 0x51,
|
0x01, 0xb8, 0x7e, 0x9b, 0xe9, 0x31, 0xed, 0xca, 0x8e, 0xcc, 0x5e, 0xdd, 0x91, 0x7d, 0x39, 0x9d,
|
||||||
0x78, 0xa7, 0x61, 0x07, 0xb6, 0x47, 0xd1, 0x73, 0xc8, 0x78, 0xae, 0x7f, 0xe9, 0x42, 0xe9, 0x26,
|
0x54, 0xe4, 0xc2, 0xbf, 0x12, 0x2c, 0x0a, 0x5f, 0x35, 0xec, 0xc0, 0xf6, 0x28, 0x7a, 0x0e, 0x19,
|
||||||
0x17, 0xde, 0x0b, 0x5d, 0x78, 0x31, 0xcc, 0x7f, 0x3a, 0xc6, 0xfa, 0x86, 0x78, 0x2e, 0xc3, 0x5e,
|
0xcf, 0xf5, 0x2f, 0x1d, 0x2a, 0xdd, 0xe4, 0xd0, 0x7b, 0xa1, 0x43, 0x2f, 0x86, 0xf9, 0x4f, 0xc7,
|
||||||
0x8f, 0x0d, 0x74, 0xf0, 0x5c, 0x3f, 0x36, 0xa7, 0x07, 0xc8, 0xb3, 0x4f, 0x63, 0x90, 0xd5, 0xc3,
|
0x58, 0xdf, 0x10, 0xcf, 0x65, 0xd8, 0xeb, 0xb1, 0x81, 0x0e, 0x9e, 0xeb, 0xc7, 0xc6, 0xf5, 0x00,
|
||||||
0x81, 0x4b, 0x1c, 0x3e, 0x71, 0x58, 0x61, 0xd2, 0x51, 0x55, 0x71, 0x6f, 0x57, 0xbe, 0xb8, 0x18,
|
0x79, 0xf6, 0x69, 0x0c, 0xb2, 0x7a, 0x38, 0x70, 0x89, 0xc3, 0x57, 0x23, 0xac, 0x30, 0xe9, 0xb6,
|
||||||
0xe6, 0xd7, 0xaf, 0x13, 0x47, 0x45, 0x7e, 0x0f, 0x0d, 0xa7, 0x78, 0xf6, 0x69, 0x3c, 0x09, 0xcf,
|
0xaa, 0xb8, 0xd3, 0x2b, 0x5f, 0x5c, 0x0c, 0xf3, 0xeb, 0xd7, 0x89, 0xa3, 0x22, 0xbf, 0x87, 0x66,
|
||||||
0x17, 0x4c, 0x58, 0x68, 0x72, 0x13, 0x8a, 0xc9, 0xaa, 0x20, 0x4c, 0x19, 0x57, 0x96, 0x6e, 0xaa,
|
0x54, 0x3c, 0xfb, 0x34, 0x9e, 0x84, 0xe7, 0x0b, 0x26, 0x2c, 0x34, 0xb9, 0x41, 0xc5, 0x64, 0x55,
|
||||||
0x2c, 0x73, 0xe5, 0x85, 0x88, 0x25, 0x54, 0xff, 0x8f, 0xdd, 0x2a, 0x54, 0x1f, 0x43, 0xea, 0xd7,
|
0x10, 0x86, 0x8d, 0x2b, 0x4b, 0x37, 0x55, 0x96, 0xb9, 0xf2, 0x42, 0xc4, 0x12, 0xaa, 0xff, 0xc7,
|
||||||
0x3e, 0x09, 0xfa, 0x9e, 0xb0, 0x6a, 0xe1, 0x62, 0x98, 0x57, 0xa2, 0xc8, 0xa8, 0xc3, 0xc9, 0xab,
|
0x4e, 0x16, 0xaa, 0x8f, 0x21, 0xf5, 0x6b, 0x9f, 0x04, 0x7d, 0x4f, 0xd8, 0xb8, 0x70, 0x31, 0xcc,
|
||||||
0x3f, 0xca, 0xa3, 0x3d, 0x98, 0x67, 0x9d, 0x00, 0xd3, 0x0e, 0xe9, 0x3a, 0x62, 0xe7, 0xbf, 0xbc,
|
0x2b, 0x51, 0x64, 0xd4, 0xe1, 0xe4, 0x6b, 0x21, 0xca, 0xa3, 0x3d, 0x98, 0x67, 0x9d, 0x00, 0xd3,
|
||||||
0x18, 0xe6, 0x97, 0x2f, 0x83, 0x1f, 0x55, 0x18, 0xf1, 0xd0, 0x4f, 0x90, 0xe5, 0xce, 0x1c, 0x29,
|
0x0e, 0xe9, 0x3a, 0xc2, 0x15, 0x5f, 0x5e, 0x0c, 0xf3, 0xcb, 0x97, 0xc1, 0x8f, 0x2a, 0x8c, 0x78,
|
||||||
0x45, 0x96, 0xde, 0xba, 0x18, 0xe6, 0xd5, 0xab, 0x99, 0x8f, 0xca, 0x2d, 0x86, 0x38, 0x33, 0x86,
|
0xe8, 0x27, 0xc8, 0x72, 0xd7, 0x8e, 0x94, 0x22, 0xbb, 0x6f, 0x5d, 0x0c, 0xf3, 0xea, 0xd5, 0xcc,
|
||||||
0x6d, 0xfd, 0x26, 0x01, 0x8c, 0xfd, 0x03, 0xde, 0x85, 0x3b, 0xcd, 0xba, 0xa9, 0x59, 0xf5, 0x86,
|
0x47, 0xe5, 0x16, 0x43, 0x9c, 0x19, 0xc3, 0xb6, 0x7e, 0x93, 0x00, 0xc6, 0xde, 0x8e, 0x77, 0xe1,
|
||||||
0x59, 0xab, 0x1f, 0x5a, 0xcf, 0x0e, 0x8d, 0x86, 0xb6, 0x57, 0x7b, 0x52, 0xd3, 0xaa, 0xca, 0x0c,
|
0x4e, 0xb3, 0x6e, 0x6a, 0x56, 0xbd, 0x61, 0xd6, 0xea, 0x87, 0xd6, 0xb3, 0x43, 0xa3, 0xa1, 0xed,
|
||||||
0x5a, 0x86, 0xa5, 0xf1, 0xe4, 0x73, 0xcd, 0x50, 0x24, 0x74, 0x07, 0x96, 0xc7, 0x83, 0xe5, 0x8a,
|
0xd5, 0x9e, 0xd4, 0xb4, 0xaa, 0x32, 0x83, 0x96, 0x61, 0x69, 0x3c, 0xf9, 0x5c, 0x33, 0x14, 0x09,
|
||||||
0x61, 0x96, 0x6b, 0x87, 0x4a, 0x02, 0x21, 0xc8, 0x8e, 0x27, 0x0e, 0xeb, 0x4a, 0x12, 0xad, 0x83,
|
0xdd, 0x81, 0xe5, 0xf1, 0x60, 0xb9, 0x62, 0x98, 0xe5, 0xda, 0xa1, 0x92, 0x40, 0x08, 0xb2, 0xe3,
|
||||||
0x7a, 0x35, 0x66, 0x1d, 0xd5, 0xcc, 0xa7, 0x56, 0x53, 0x33, 0xeb, 0x8a, 0xbc, 0xf5, 0x97, 0x04,
|
0x89, 0xc3, 0xba, 0x92, 0x44, 0xeb, 0xa0, 0x5e, 0x8d, 0x59, 0x47, 0x35, 0xf3, 0xa9, 0xd5, 0xd4,
|
||||||
0xd9, 0xab, 0x7f, 0x08, 0x28, 0x0f, 0x77, 0x1b, 0x7a, 0xbd, 0x51, 0x37, 0xca, 0x07, 0x96, 0x61,
|
0xcc, 0xba, 0x22, 0x6f, 0xfd, 0x25, 0x41, 0xf6, 0xea, 0xcb, 0x02, 0xe5, 0xe1, 0x6e, 0x43, 0xaf,
|
||||||
0x96, 0xcd, 0x67, 0xc6, 0x44, 0x4f, 0x05, 0xc8, 0x4d, 0x02, 0xaa, 0x5a, 0xa3, 0x6e, 0xd4, 0x4c,
|
0x37, 0xea, 0x46, 0xf9, 0xc0, 0x32, 0xcc, 0xb2, 0xf9, 0xcc, 0x98, 0xe8, 0xa9, 0x00, 0xb9, 0x49,
|
||||||
0xab, 0xa1, 0xe9, 0xb5, 0x7a, 0x55, 0x91, 0xd0, 0xe7, 0x70, 0x6f, 0x12, 0xd3, 0xac, 0x9b, 0xb5,
|
0x40, 0x55, 0x6b, 0xd4, 0x8d, 0x9a, 0x69, 0x35, 0x34, 0xbd, 0x56, 0xaf, 0x2a, 0x12, 0xfa, 0x1c,
|
||||||
0xc3, 0x1f, 0x62, 0x48, 0x02, 0xad, 0xc1, 0x67, 0x93, 0x90, 0x46, 0xd9, 0x30, 0xb4, 0x6a, 0xd4,
|
0xee, 0x4d, 0x62, 0x9a, 0x75, 0xb3, 0x76, 0xf8, 0x43, 0x0c, 0x49, 0xa0, 0x35, 0xf8, 0x6c, 0x12,
|
||||||
0xf4, 0x64, 0x4e, 0xd7, 0xf6, 0xb5, 0x3d, 0x53, 0xab, 0x2a, 0xf2, 0x34, 0xe6, 0x93, 0x72, 0xed,
|
0xd2, 0x28, 0x1b, 0x86, 0x56, 0x8d, 0x9a, 0x9e, 0xcc, 0xe9, 0xda, 0xbe, 0xb6, 0x67, 0x6a, 0x55,
|
||||||
0x40, 0xab, 0x2a, 0xb3, 0x95, 0xfd, 0x37, 0x67, 0x39, 0xe9, 0xed, 0x59, 0x4e, 0x7a, 0x7f, 0x96,
|
0x45, 0x9e, 0xc6, 0x7c, 0x52, 0xae, 0x1d, 0x68, 0x55, 0x65, 0xb6, 0xb2, 0xff, 0xe6, 0x2c, 0x27,
|
||||||
0x93, 0x5e, 0x9d, 0xe7, 0x66, 0xde, 0x9e, 0xe7, 0x66, 0xfe, 0x39, 0xcf, 0xcd, 0xfc, 0xfc, 0xa0,
|
0xbd, 0x3d, 0xcb, 0x49, 0xef, 0xcf, 0x72, 0xd2, 0xab, 0xf3, 0xdc, 0xcc, 0xdb, 0xf3, 0xdc, 0xcc,
|
||||||
0xed, 0xb2, 0x4e, 0xbf, 0x55, 0x3c, 0x26, 0x9e, 0xf8, 0x30, 0x11, 0x3f, 0xdb, 0xd4, 0xf9, 0xa5,
|
0x3f, 0xe7, 0xb9, 0x99, 0x9f, 0x1f, 0xb4, 0x5d, 0xd6, 0xe9, 0xb7, 0x8a, 0xc7, 0xc4, 0x13, 0x1f,
|
||||||
0x74, 0xca, 0x3f, 0xbb, 0xd8, 0xa0, 0x87, 0x69, 0xfc, 0xf1, 0xd5, 0x4a, 0x71, 0xcf, 0x3e, 0xfc,
|
0x2d, 0xe2, 0x67, 0x9b, 0x3a, 0xbf, 0x94, 0x4e, 0xf9, 0x27, 0x19, 0x1b, 0xf4, 0x30, 0x8d, 0x3f,
|
||||||
0x10, 0x00, 0x00, 0xff, 0xff, 0xe9, 0xbe, 0x2b, 0x6a, 0x99, 0x09, 0x00, 0x00,
|
0xcc, 0x5a, 0x29, 0xee, 0xd9, 0x87, 0x1f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xf1, 0x23, 0xf2, 0x27,
|
||||||
|
0xb5, 0x09, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *WeightedVoteOption) Marshal() (dAtA []byte, err error) {
|
func (m *WeightedVoteOption) Marshal() (dAtA []byte, err error) {
|
||||||
|
@ -1018,6 +1028,13 @@ func (m *Vote) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
if len(m.Metadata) > 0 {
|
||||||
|
i -= len(m.Metadata)
|
||||||
|
copy(dAtA[i:], m.Metadata)
|
||||||
|
i = encodeVarintGov(dAtA, i, uint64(len(m.Metadata)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x2a
|
||||||
|
}
|
||||||
if len(m.Options) > 0 {
|
if len(m.Options) > 0 {
|
||||||
for iNdEx := len(m.Options) - 1; iNdEx >= 0; iNdEx-- {
|
for iNdEx := len(m.Options) - 1; iNdEx >= 0; iNdEx-- {
|
||||||
{
|
{
|
||||||
|
@ -1315,6 +1332,10 @@ func (m *Vote) Size() (n int) {
|
||||||
n += 1 + l + sovGov(uint64(l))
|
n += 1 + l + sovGov(uint64(l))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
l = len(m.Metadata)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovGov(uint64(l))
|
||||||
|
}
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2273,6 +2294,38 @@ func (m *Vote) Unmarshal(dAtA []byte) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 5:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowGov
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
stringLen |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
intStringLen := int(stringLen)
|
||||||
|
if intStringLen < 0 {
|
||||||
|
return ErrInvalidLengthGov
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthGov
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Metadata = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipGov(dAtA[iNdEx:])
|
skippy, err := skipGov(dAtA[iNdEx:])
|
||||||
|
|
|
@ -140,8 +140,8 @@ func (msg MsgDeposit) GetSigners() []sdk.AccAddress {
|
||||||
|
|
||||||
// NewMsgVote creates a message to cast a vote on an active proposal
|
// NewMsgVote creates a message to cast a vote on an active proposal
|
||||||
//nolint:interfacer
|
//nolint:interfacer
|
||||||
func NewMsgVote(voter sdk.AccAddress, proposalID uint64, option VoteOption) *MsgVote {
|
func NewMsgVote(voter sdk.AccAddress, proposalID uint64, option VoteOption, metadata string) *MsgVote {
|
||||||
return &MsgVote{proposalID, voter.String(), option}
|
return &MsgVote{proposalID, voter.String(), option, metadata}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Route implements Msg
|
// Route implements Msg
|
||||||
|
@ -176,8 +176,8 @@ func (msg MsgVote) GetSigners() []sdk.AccAddress {
|
||||||
|
|
||||||
// NewMsgVoteWeighted creates a message to cast a vote on an active proposal
|
// NewMsgVoteWeighted creates a message to cast a vote on an active proposal
|
||||||
//nolint:interfacer
|
//nolint:interfacer
|
||||||
func NewMsgVoteWeighted(voter sdk.AccAddress, proposalID uint64, options WeightedVoteOptions) *MsgVoteWeighted {
|
func NewMsgVoteWeighted(voter sdk.AccAddress, proposalID uint64, options WeightedVoteOptions, metadata string) *MsgVoteWeighted {
|
||||||
return &MsgVoteWeighted{proposalID, voter.String(), options}
|
return &MsgVoteWeighted{proposalID, voter.String(), options, metadata}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Route implements Msg
|
// Route implements Msg
|
||||||
|
|
|
@ -59,22 +59,24 @@ func TestMsgDeposit(t *testing.T) {
|
||||||
|
|
||||||
// test ValidateBasic for MsgVote
|
// test ValidateBasic for MsgVote
|
||||||
func TestMsgVote(t *testing.T) {
|
func TestMsgVote(t *testing.T) {
|
||||||
|
metadata := "metadata"
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
proposalID uint64
|
proposalID uint64
|
||||||
voterAddr sdk.AccAddress
|
voterAddr sdk.AccAddress
|
||||||
option v1beta2.VoteOption
|
option v1beta2.VoteOption
|
||||||
|
metadata string
|
||||||
expectPass bool
|
expectPass bool
|
||||||
}{
|
}{
|
||||||
{0, addrs[0], v1beta2.OptionYes, true},
|
{0, addrs[0], v1beta2.OptionYes, metadata, true},
|
||||||
{0, sdk.AccAddress{}, v1beta2.OptionYes, false},
|
{0, sdk.AccAddress{}, v1beta2.OptionYes, "", false},
|
||||||
{0, addrs[0], v1beta2.OptionNo, true},
|
{0, addrs[0], v1beta2.OptionNo, metadata, true},
|
||||||
{0, addrs[0], v1beta2.OptionNoWithVeto, true},
|
{0, addrs[0], v1beta2.OptionNoWithVeto, "", true},
|
||||||
{0, addrs[0], v1beta2.OptionAbstain, true},
|
{0, addrs[0], v1beta2.OptionAbstain, "", true},
|
||||||
{0, addrs[0], v1beta2.VoteOption(0x13), false},
|
{0, addrs[0], v1beta2.VoteOption(0x13), "", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, tc := range tests {
|
for i, tc := range tests {
|
||||||
msg := v1beta2.NewMsgVote(tc.voterAddr, tc.proposalID, tc.option)
|
msg := v1beta2.NewMsgVote(tc.voterAddr, tc.proposalID, tc.option, tc.metadata)
|
||||||
if tc.expectPass {
|
if tc.expectPass {
|
||||||
require.Nil(t, msg.ValidateBasic(), "test: %v", i)
|
require.Nil(t, msg.ValidateBasic(), "test: %v", i)
|
||||||
} else {
|
} else {
|
||||||
|
@ -85,40 +87,42 @@ func TestMsgVote(t *testing.T) {
|
||||||
|
|
||||||
// test ValidateBasic for MsgVoteWeighted
|
// test ValidateBasic for MsgVoteWeighted
|
||||||
func TestMsgVoteWeighted(t *testing.T) {
|
func TestMsgVoteWeighted(t *testing.T) {
|
||||||
|
metadata := "metadata"
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
proposalID uint64
|
proposalID uint64
|
||||||
voterAddr sdk.AccAddress
|
voterAddr sdk.AccAddress
|
||||||
options v1beta2.WeightedVoteOptions
|
options v1beta2.WeightedVoteOptions
|
||||||
|
metadata string
|
||||||
expectPass bool
|
expectPass bool
|
||||||
}{
|
}{
|
||||||
{0, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), true},
|
{0, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), metadata, true},
|
||||||
{0, sdk.AccAddress{}, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), false},
|
{0, sdk.AccAddress{}, v1beta2.NewNonSplitVoteOption(v1beta2.OptionYes), "", false},
|
||||||
{0, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), true},
|
{0, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNo), "", true},
|
||||||
{0, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNoWithVeto), true},
|
{0, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionNoWithVeto), "", true},
|
||||||
{0, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionAbstain), true},
|
{0, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.OptionAbstain), "", true},
|
||||||
{0, addrs[0], v1beta2.WeightedVoteOptions{ // weight sum > 1
|
{0, addrs[0], v1beta2.WeightedVoteOptions{ // weight sum > 1
|
||||||
v1beta2.NewWeightedVoteOption(v1beta2.OptionYes, sdk.NewDec(1)),
|
v1beta2.NewWeightedVoteOption(v1beta2.OptionYes, sdk.NewDec(1)),
|
||||||
v1beta2.NewWeightedVoteOption(v1beta2.OptionAbstain, sdk.NewDec(1)),
|
v1beta2.NewWeightedVoteOption(v1beta2.OptionAbstain, sdk.NewDec(1)),
|
||||||
}, false},
|
}, "", false},
|
||||||
{0, addrs[0], v1beta2.WeightedVoteOptions{ // duplicate option
|
{0, addrs[0], v1beta2.WeightedVoteOptions{ // duplicate option
|
||||||
v1beta2.NewWeightedVoteOption(v1beta2.OptionYes, sdk.NewDecWithPrec(5, 1)),
|
v1beta2.NewWeightedVoteOption(v1beta2.OptionYes, sdk.NewDecWithPrec(5, 1)),
|
||||||
v1beta2.NewWeightedVoteOption(v1beta2.OptionYes, sdk.NewDecWithPrec(5, 1)),
|
v1beta2.NewWeightedVoteOption(v1beta2.OptionYes, sdk.NewDecWithPrec(5, 1)),
|
||||||
}, false},
|
}, "", false},
|
||||||
{0, addrs[0], v1beta2.WeightedVoteOptions{ // zero weight
|
{0, addrs[0], v1beta2.WeightedVoteOptions{ // zero weight
|
||||||
v1beta2.NewWeightedVoteOption(v1beta2.OptionYes, sdk.NewDec(0)),
|
v1beta2.NewWeightedVoteOption(v1beta2.OptionYes, sdk.NewDec(0)),
|
||||||
}, false},
|
}, "", false},
|
||||||
{0, addrs[0], v1beta2.WeightedVoteOptions{ // negative weight
|
{0, addrs[0], v1beta2.WeightedVoteOptions{ // negative weight
|
||||||
v1beta2.NewWeightedVoteOption(v1beta2.OptionYes, sdk.NewDec(-1)),
|
v1beta2.NewWeightedVoteOption(v1beta2.OptionYes, sdk.NewDec(-1)),
|
||||||
}, false},
|
}, "", false},
|
||||||
{0, addrs[0], v1beta2.WeightedVoteOptions{}, false},
|
{0, addrs[0], v1beta2.WeightedVoteOptions{}, "", false},
|
||||||
{0, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.VoteOption(0x13)), false},
|
{0, addrs[0], v1beta2.NewNonSplitVoteOption(v1beta2.VoteOption(0x13)), "", false},
|
||||||
{0, addrs[0], v1beta2.WeightedVoteOptions{ // weight sum <1
|
{0, addrs[0], v1beta2.WeightedVoteOptions{ // weight sum <1
|
||||||
v1beta2.NewWeightedVoteOption(v1beta2.OptionYes, sdk.NewDecWithPrec(5, 1)),
|
v1beta2.NewWeightedVoteOption(v1beta2.OptionYes, sdk.NewDecWithPrec(5, 1)),
|
||||||
}, false},
|
}, "", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, tc := range tests {
|
for i, tc := range tests {
|
||||||
msg := v1beta2.NewMsgVoteWeighted(tc.voterAddr, tc.proposalID, tc.options)
|
msg := v1beta2.NewMsgVoteWeighted(tc.voterAddr, tc.proposalID, tc.options, tc.metadata)
|
||||||
if tc.expectPass {
|
if tc.expectPass {
|
||||||
require.Nil(t, msg.ValidateBasic(), "test: %v", i)
|
require.Nil(t, msg.ValidateBasic(), "test: %v", i)
|
||||||
} else {
|
} else {
|
||||||
|
@ -165,7 +169,7 @@ func TestMsgSubmitProposal_ValidateBasic(t *testing.T) {
|
||||||
|
|
||||||
// this tests that Amino JSON MsgSubmitProposal.GetSignBytes() still works with Content as Any using the ModuleCdc
|
// this tests that Amino JSON MsgSubmitProposal.GetSignBytes() still works with Content as Any using the ModuleCdc
|
||||||
func TestMsgSubmitProposal_GetSignBytes(t *testing.T) {
|
func TestMsgSubmitProposal_GetSignBytes(t *testing.T) {
|
||||||
proposal := []sdk.Msg{v1beta2.NewMsgVote(addrs[0], 1, v1beta2.OptionYes)}
|
proposal := []sdk.Msg{v1beta2.NewMsgVote(addrs[0], 1, v1beta2.OptionYes, "")}
|
||||||
msg, err := v1beta2.NewMsgSubmitProposal(proposal, sdk.NewCoins(), sdk.AccAddress{}.String(), "")
|
msg, err := v1beta2.NewMsgSubmitProposal(proposal, sdk.NewCoins(), sdk.AccAddress{}.String(), "")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
var bz []byte
|
var bz []byte
|
||||||
|
|
|
@ -246,6 +246,7 @@ type MsgVote struct {
|
||||||
ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id"`
|
ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id"`
|
||||||
Voter string `protobuf:"bytes,2,opt,name=voter,proto3" json:"voter,omitempty"`
|
Voter string `protobuf:"bytes,2,opt,name=voter,proto3" json:"voter,omitempty"`
|
||||||
Option VoteOption `protobuf:"varint,3,opt,name=option,proto3,enum=cosmos.gov.v1beta2.VoteOption" json:"option,omitempty"`
|
Option VoteOption `protobuf:"varint,3,opt,name=option,proto3,enum=cosmos.gov.v1beta2.VoteOption" json:"option,omitempty"`
|
||||||
|
Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *MsgVote) Reset() { *m = MsgVote{} }
|
func (m *MsgVote) Reset() { *m = MsgVote{} }
|
||||||
|
@ -302,6 +303,13 @@ func (m *MsgVote) GetOption() VoteOption {
|
||||||
return VoteOption_VOTE_OPTION_UNSPECIFIED
|
return VoteOption_VOTE_OPTION_UNSPECIFIED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *MsgVote) GetMetadata() string {
|
||||||
|
if m != nil {
|
||||||
|
return m.Metadata
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
// MsgVoteResponse defines the Msg/Vote response type.
|
// MsgVoteResponse defines the Msg/Vote response type.
|
||||||
type MsgVoteResponse struct {
|
type MsgVoteResponse struct {
|
||||||
}
|
}
|
||||||
|
@ -344,6 +352,7 @@ type MsgVoteWeighted struct {
|
||||||
ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id"`
|
ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id"`
|
||||||
Voter string `protobuf:"bytes,2,opt,name=voter,proto3" json:"voter,omitempty"`
|
Voter string `protobuf:"bytes,2,opt,name=voter,proto3" json:"voter,omitempty"`
|
||||||
Options []*WeightedVoteOption `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"`
|
Options []*WeightedVoteOption `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"`
|
||||||
|
Metadata string `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *MsgVoteWeighted) Reset() { *m = MsgVoteWeighted{} }
|
func (m *MsgVoteWeighted) Reset() { *m = MsgVoteWeighted{} }
|
||||||
|
@ -400,6 +409,13 @@ func (m *MsgVoteWeighted) GetOptions() []*WeightedVoteOption {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *MsgVoteWeighted) GetMetadata() string {
|
||||||
|
if m != nil {
|
||||||
|
return m.Metadata
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
// MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.
|
// MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.
|
||||||
type MsgVoteWeightedResponse struct {
|
type MsgVoteWeightedResponse struct {
|
||||||
}
|
}
|
||||||
|
@ -551,53 +567,53 @@ func init() {
|
||||||
func init() { proto.RegisterFile("cosmos/gov/v1beta2/tx.proto", fileDescriptor_4214261f6b3f9ed4) }
|
func init() { proto.RegisterFile("cosmos/gov/v1beta2/tx.proto", fileDescriptor_4214261f6b3f9ed4) }
|
||||||
|
|
||||||
var fileDescriptor_4214261f6b3f9ed4 = []byte{
|
var fileDescriptor_4214261f6b3f9ed4 = []byte{
|
||||||
// 733 bytes of a gzipped FileDescriptorProto
|
// 735 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0xcf, 0x4f, 0x13, 0x41,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0x4f, 0x6f, 0xd3, 0x4e,
|
||||||
0x14, 0xee, 0xd2, 0x4a, 0xe1, 0xa1, 0x25, 0x4c, 0x9a, 0xb0, 0x5d, 0xc8, 0x42, 0xd6, 0x48, 0x1a,
|
0x10, 0x8d, 0x9b, 0xfc, 0x9a, 0x76, 0xfa, 0x23, 0x55, 0x57, 0x91, 0xea, 0xb8, 0x95, 0x5b, 0x19,
|
||||||
0x4d, 0x77, 0xdb, 0x6a, 0x30, 0x41, 0x0f, 0x52, 0x34, 0x41, 0x63, 0xa3, 0x2e, 0x89, 0x26, 0x5e,
|
0x51, 0x45, 0xa0, 0xd8, 0x49, 0x40, 0x45, 0x2a, 0x1c, 0x68, 0x0a, 0x52, 0x41, 0x44, 0x80, 0x2b,
|
||||||
0x70, 0xdb, 0x1d, 0x86, 0x8d, 0x74, 0x67, 0xb3, 0x33, 0x6d, 0xe8, 0x51, 0xff, 0x02, 0xff, 0x13,
|
0x81, 0xc4, 0xa5, 0x38, 0xf1, 0x76, 0x6b, 0xd1, 0x78, 0x2d, 0xef, 0x26, 0x6a, 0x8e, 0xf0, 0x09,
|
||||||
0x3d, 0x70, 0x37, 0xde, 0x88, 0x27, 0xe2, 0xc9, 0x8b, 0xc4, 0xc0, 0xc1, 0xc4, 0x93, 0x7f, 0x82,
|
0xf8, 0x28, 0x1c, 0x7a, 0xe7, 0x5a, 0xc1, 0xa5, 0xe2, 0xc4, 0xa5, 0x15, 0x6a, 0x0f, 0x48, 0x9c,
|
||||||
0xd9, 0xdd, 0xd9, 0x2d, 0xd0, 0x1f, 0xd4, 0x8b, 0xa7, 0xce, 0xbc, 0xef, 0xfb, 0xde, 0xbc, 0x6f,
|
0xf8, 0x08, 0xc8, 0xf6, 0xda, 0x09, 0xcd, 0x9f, 0x86, 0x0b, 0x27, 0x7b, 0xe7, 0xbd, 0x37, 0x3b,
|
||||||
0xfa, 0xde, 0x0e, 0x2c, 0x34, 0x29, 0x6b, 0x51, 0x66, 0x10, 0xda, 0x31, 0x3a, 0x95, 0x06, 0xe6,
|
0x6f, 0xbc, 0xe3, 0x85, 0xa5, 0x26, 0x65, 0x2d, 0xca, 0x0c, 0x42, 0x3b, 0x46, 0xa7, 0xd2, 0xc0,
|
||||||
0x56, 0xd5, 0xe0, 0xfb, 0xba, 0xe7, 0x53, 0x4e, 0x11, 0x8a, 0x40, 0x9d, 0xd0, 0x8e, 0x2e, 0x40,
|
0xdc, 0xaa, 0x1a, 0xfc, 0x50, 0xf7, 0x7c, 0xca, 0x29, 0x42, 0x11, 0xa8, 0x13, 0xda, 0xd1, 0x05,
|
||||||
0x45, 0x15, 0x82, 0x86, 0xc5, 0xb0, 0x50, 0x54, 0x8c, 0x26, 0x75, 0xdc, 0x48, 0xa3, 0x2c, 0x0e,
|
0xa8, 0xa8, 0x42, 0xd0, 0xb0, 0x18, 0x16, 0x8a, 0x8a, 0xd1, 0xa4, 0x8e, 0x1b, 0x69, 0x94, 0xe5,
|
||||||
0x48, 0x18, 0xe8, 0x23, 0x34, 0x4f, 0x28, 0xa1, 0xe1, 0xd2, 0x08, 0x56, 0x22, 0x5a, 0x88, 0x34,
|
0x21, 0x09, 0x03, 0x7d, 0x84, 0xe6, 0x09, 0x25, 0x34, 0x7c, 0x35, 0x82, 0x37, 0x11, 0x2d, 0x44,
|
||||||
0xdb, 0x11, 0x20, 0x0e, 0x15, 0x10, 0xa1, 0x94, 0xec, 0x61, 0x23, 0xdc, 0x35, 0xda, 0x3b, 0x86,
|
0x9a, 0xdd, 0x08, 0x10, 0x9b, 0x0a, 0x88, 0x50, 0x4a, 0x0e, 0xb0, 0x11, 0xae, 0x1a, 0xed, 0x3d,
|
||||||
0xe5, 0x76, 0x05, 0x34, 0x2f, 0x4e, 0x6a, 0x31, 0x62, 0x74, 0x2a, 0xc1, 0x4f, 0x04, 0x68, 0x7f,
|
0xc3, 0x72, 0xbb, 0x02, 0x5a, 0x14, 0x3b, 0xb5, 0x18, 0x31, 0x3a, 0x95, 0xe0, 0x11, 0x01, 0xda,
|
||||||
0x24, 0x98, 0xab, 0x33, 0xb2, 0xd5, 0x6e, 0xb4, 0x1c, 0xfe, 0xdc, 0xa7, 0x1e, 0x65, 0xd6, 0x1e,
|
0x2f, 0x09, 0x16, 0xea, 0x8c, 0xec, 0xb4, 0x1b, 0x2d, 0x87, 0x3f, 0xf7, 0xa9, 0x47, 0x99, 0x75,
|
||||||
0x2a, 0xc3, 0x54, 0x0b, 0x33, 0x66, 0x11, 0xcc, 0x64, 0x69, 0x39, 0x5d, 0x9c, 0xa9, 0xe6, 0xf5,
|
0x80, 0xca, 0x30, 0xd3, 0xc2, 0x8c, 0x59, 0x04, 0x33, 0x59, 0x5a, 0x4d, 0x17, 0xe7, 0xaa, 0x79,
|
||||||
0x28, 0xb9, 0x1e, 0x27, 0xd7, 0xd7, 0xdd, 0xae, 0x99, 0xb0, 0xd0, 0x26, 0xcc, 0x3a, 0xae, 0xc3,
|
0x3d, 0x4a, 0xae, 0xc7, 0xc9, 0xf5, 0x4d, 0xb7, 0x6b, 0x26, 0x2c, 0xb4, 0x0d, 0xf3, 0x8e, 0xeb,
|
||||||
0x1d, 0x6b, 0x6f, 0xdb, 0xc6, 0x1e, 0x65, 0x0e, 0x97, 0x27, 0x42, 0x61, 0x41, 0x17, 0x35, 0x06,
|
0x70, 0xc7, 0x3a, 0xd8, 0xb5, 0xb1, 0x47, 0x99, 0xc3, 0xe5, 0xa9, 0x50, 0x58, 0xd0, 0x45, 0x8d,
|
||||||
0x97, 0x20, 0x6e, 0xa6, 0xa2, 0x6f, 0x50, 0xc7, 0xad, 0x65, 0x0e, 0x8f, 0x97, 0x52, 0x66, 0x4e,
|
0x41, 0x13, 0x44, 0x67, 0x2a, 0xfa, 0x16, 0x75, 0xdc, 0x5a, 0xe6, 0xf8, 0x6c, 0x25, 0x65, 0xe6,
|
||||||
0xe8, 0x1e, 0x46, 0x32, 0x74, 0x07, 0xa6, 0xbc, 0xb0, 0x0e, 0xec, 0xcb, 0xe9, 0x65, 0xa9, 0x38,
|
0x84, 0xee, 0x61, 0x24, 0x43, 0x77, 0x60, 0xc6, 0x0b, 0xeb, 0xc0, 0xbe, 0x9c, 0x5e, 0x95, 0x8a,
|
||||||
0x5d, 0x93, 0xbf, 0x1d, 0x94, 0xf2, 0x22, 0xcb, 0xba, 0x6d, 0xfb, 0x98, 0xb1, 0x2d, 0xee, 0x3b,
|
0xb3, 0x35, 0xf9, 0xeb, 0x51, 0x29, 0x2f, 0xb2, 0x6c, 0xda, 0xb6, 0x8f, 0x19, 0xdb, 0xe1, 0xbe,
|
||||||
0x2e, 0x31, 0x13, 0x26, 0x52, 0x82, 0x8a, 0xb9, 0x65, 0x5b, 0xdc, 0x92, 0x33, 0x81, 0xca, 0x4c,
|
0xe3, 0x12, 0x33, 0x61, 0x22, 0x25, 0xa8, 0x98, 0x5b, 0xb6, 0xc5, 0x2d, 0x39, 0x13, 0xa8, 0xcc,
|
||||||
0xf6, 0x6b, 0xd7, 0xde, 0xff, 0xfa, 0x74, 0x33, 0xa1, 0x6a, 0xf7, 0xa1, 0xd0, 0xe7, 0xd8, 0xc4,
|
0x64, 0xbd, 0x71, 0xed, 0xfd, 0x8f, 0x8f, 0x37, 0x13, 0xaa, 0x76, 0x1f, 0x0a, 0x03, 0x8e, 0x4d,
|
||||||
0xcc, 0xa3, 0x2e, 0xc3, 0x68, 0x09, 0x66, 0x3c, 0x11, 0xdb, 0x76, 0x6c, 0x59, 0x5a, 0x96, 0x8a,
|
0xcc, 0x3c, 0xea, 0x32, 0x8c, 0x56, 0x60, 0xce, 0x13, 0xb1, 0x5d, 0xc7, 0x96, 0xa5, 0x55, 0xa9,
|
||||||
0x19, 0x13, 0xe2, 0xd0, 0x63, 0x5b, 0x7b, 0x27, 0x41, 0xbe, 0xce, 0xc8, 0xa3, 0x7d, 0xdc, 0x7c,
|
0x98, 0x31, 0x21, 0x0e, 0x3d, 0xb6, 0xb5, 0x77, 0x12, 0xe4, 0xeb, 0x8c, 0x3c, 0x3a, 0xc4, 0xcd,
|
||||||
0x8a, 0x89, 0xd5, 0xec, 0x6e, 0x50, 0x97, 0x63, 0x97, 0xa3, 0x7b, 0x90, 0x6d, 0x46, 0xcb, 0x50,
|
0xa7, 0x98, 0x58, 0xcd, 0xee, 0x16, 0x75, 0x39, 0x76, 0x39, 0xba, 0x07, 0xd9, 0x66, 0xf4, 0x1a,
|
||||||
0x35, 0xe4, 0xca, 0x6a, 0x33, 0x5f, 0x0f, 0x4a, 0x59, 0xa1, 0x31, 0x63, 0x05, 0x5a, 0x84, 0x69,
|
0xaa, 0x46, 0xb4, 0xac, 0x36, 0xf7, 0xf9, 0xa8, 0x94, 0x15, 0x1a, 0x33, 0x56, 0xa0, 0x65, 0x98,
|
||||||
0xab, 0xcd, 0x77, 0xa9, 0xef, 0xf0, 0xae, 0x3c, 0x11, 0xd6, 0xdf, 0x0b, 0xac, 0xe5, 0x02, 0x03,
|
0xb5, 0xda, 0x7c, 0x9f, 0xfa, 0x0e, 0xef, 0xca, 0x53, 0x61, 0xfd, 0xbd, 0xc0, 0x46, 0x2e, 0x30,
|
||||||
0xbd, 0xbd, 0xa6, 0xc2, 0xe2, 0xa0, 0x12, 0x62, 0x13, 0xda, 0x47, 0x09, 0xb2, 0x75, 0x46, 0x5e,
|
0xd0, 0x5b, 0x6b, 0x2a, 0x2c, 0x0f, 0x2b, 0x21, 0x36, 0xa1, 0x7d, 0x91, 0x20, 0x5b, 0x67, 0xe4,
|
||||||
0x52, 0x8e, 0x51, 0x79, 0x80, 0xa1, 0xda, 0xec, 0xef, 0xe3, 0xa5, 0xb3, 0xe1, 0xb3, 0x0e, 0x91,
|
0x25, 0xe5, 0x18, 0x95, 0x87, 0x18, 0xaa, 0xcd, 0xff, 0x3c, 0x5b, 0xe9, 0x0f, 0xf7, 0x3b, 0x44,
|
||||||
0x0e, 0x57, 0x3a, 0x94, 0x63, 0x3f, 0xaa, 0x63, 0xc4, 0xed, 0x47, 0x34, 0xb4, 0x0a, 0x93, 0xd4,
|
0x3a, 0xfc, 0xd7, 0xa1, 0x1c, 0xfb, 0x51, 0x1d, 0x63, 0xba, 0x1f, 0xd1, 0xd0, 0x3a, 0x4c, 0x53,
|
||||||
0xe3, 0x0e, 0x75, 0xc3, 0xbf, 0x2b, 0x57, 0x55, 0xf5, 0xfe, 0x51, 0xd0, 0x83, 0x5a, 0x9e, 0x85,
|
0x8f, 0x3b, 0xd4, 0x0d, 0x3f, 0x57, 0xae, 0xaa, 0xea, 0x83, 0xa3, 0xa0, 0x07, 0xb5, 0x3c, 0x0b,
|
||||||
0x2c, 0x53, 0xb0, 0xd7, 0x20, 0x70, 0x15, 0xe5, 0xd0, 0xe6, 0x60, 0x56, 0x14, 0x9c, 0x98, 0xf8,
|
0x59, 0xa6, 0x60, 0x8f, 0xfd, 0x64, 0x10, 0x38, 0x8e, 0xf2, 0x6b, 0x0b, 0x30, 0x2f, 0xcc, 0x24,
|
||||||
0x22, 0x25, 0xb1, 0x57, 0xd8, 0x21, 0xbb, 0x1c, 0xdb, 0xff, 0xc1, 0xcc, 0x03, 0xc8, 0x46, 0xe5,
|
0x06, 0x4f, 0xa5, 0x24, 0xf6, 0x0a, 0x3b, 0x64, 0x9f, 0x63, 0xfb, 0x1f, 0x18, 0x7d, 0x00, 0xd9,
|
||||||
0x31, 0x39, 0x1d, 0xf6, 0xef, 0xca, 0x20, 0x37, 0x71, 0x41, 0x67, 0x5c, 0xc5, 0xb2, 0x73, 0xb6,
|
0xa8, 0x74, 0x26, 0xa7, 0xc3, 0xb3, 0xbd, 0x36, 0xcc, 0x69, 0x5c, 0x50, 0x9f, 0xe3, 0x58, 0x36,
|
||||||
0x0a, 0x30, 0x7f, 0xc1, 0x42, 0x62, 0xef, 0xb3, 0x04, 0x50, 0x67, 0x24, 0xee, 0xfa, 0x7f, 0x77,
|
0xb1, 0xe5, 0x02, 0x2c, 0x5e, 0xb2, 0x97, 0x58, 0xff, 0x24, 0x01, 0xd4, 0x19, 0x89, 0xa7, 0xe5,
|
||||||
0xb6, 0x0a, 0xd3, 0x62, 0xd2, 0xe8, 0xe5, 0xee, 0x7a, 0x54, 0x74, 0x17, 0x26, 0xad, 0x16, 0x6d,
|
0xef, 0x5d, 0xaf, 0xc3, 0xac, 0x98, 0x50, 0x7a, 0xb5, 0xf3, 0x1e, 0x15, 0xdd, 0x85, 0x69, 0xab,
|
||||||
0xbb, 0x5c, 0x18, 0xbc, 0x74, 0x40, 0x05, 0x5d, 0x74, 0x61, 0x92, 0x48, 0xcb, 0x03, 0xea, 0x19,
|
0x45, 0xdb, 0x2e, 0x17, 0xe6, 0xaf, 0x1c, 0x6c, 0x41, 0x17, 0xa7, 0x37, 0x49, 0xa4, 0xe5, 0x01,
|
||||||
0x88, 0x7d, 0x55, 0x7f, 0xa4, 0x21, 0x5d, 0x67, 0x04, 0xed, 0x40, 0xee, 0xc2, 0x47, 0xe5, 0xc6,
|
0xf5, 0x0c, 0xc4, 0xbe, 0xaa, 0xa7, 0x69, 0x48, 0xd7, 0x19, 0x41, 0x7b, 0x90, 0xbb, 0xf4, 0x33,
|
||||||
0xa0, 0x9b, 0xec, 0x9b, 0x44, 0xa5, 0x34, 0x16, 0x2d, 0x19, 0x58, 0x0a, 0x73, 0xfd, 0xb3, 0x58,
|
0xba, 0x31, 0xac, 0xcb, 0x03, 0x13, 0xac, 0x94, 0x26, 0xa2, 0x25, 0x83, 0x4e, 0x61, 0x61, 0x70,
|
||||||
0x1c, 0x92, 0xa3, 0x8f, 0xa9, 0x94, 0xc7, 0x65, 0x26, 0x07, 0x6e, 0x42, 0x26, 0x1c, 0xac, 0x85,
|
0x86, 0x8b, 0x23, 0x72, 0x0c, 0x30, 0x95, 0xf2, 0xa4, 0xcc, 0x64, 0xc3, 0x6d, 0xc8, 0x84, 0x03,
|
||||||
0x21, 0xca, 0x00, 0x54, 0xae, 0x8f, 0x00, 0x93, 0x4c, 0x6f, 0xe0, 0xea, 0xb9, 0xee, 0x1e, 0x25,
|
0xb9, 0x34, 0x42, 0x19, 0x80, 0xca, 0xf5, 0x31, 0x60, 0x92, 0xe9, 0x0d, 0xfc, 0xff, 0xc7, 0xc9,
|
||||||
0x8a, 0x49, 0xca, 0xad, 0x31, 0x48, 0xc9, 0x09, 0x2f, 0x20, 0x1b, 0x37, 0x98, 0x3a, 0x44, 0x27,
|
0x1f, 0x27, 0x8a, 0x49, 0xca, 0xad, 0x09, 0x48, 0xc9, 0x0e, 0x2f, 0x20, 0x1b, 0x1f, 0x30, 0x75,
|
||||||
0x70, 0x65, 0x65, 0x34, 0x1e, 0xa7, 0xac, 0x3d, 0x39, 0x3c, 0x51, 0xa5, 0xa3, 0x13, 0x55, 0xfa,
|
0x84, 0x4e, 0xe0, 0xca, 0xda, 0x78, 0x3c, 0x4e, 0x59, 0x7b, 0x72, 0x7c, 0xae, 0x4a, 0x27, 0xe7,
|
||||||
0x79, 0xa2, 0x4a, 0x1f, 0x4e, 0xd5, 0xd4, 0xd1, 0xa9, 0x9a, 0xfa, 0x7e, 0xaa, 0xa6, 0x5e, 0x97,
|
0xaa, 0xf4, 0xfd, 0x5c, 0x95, 0x3e, 0x5c, 0xa8, 0xa9, 0x93, 0x0b, 0x35, 0xf5, 0xed, 0x42, 0x4d,
|
||||||
0x89, 0xc3, 0x77, 0xdb, 0x0d, 0xbd, 0x49, 0x5b, 0xe2, 0x5d, 0x12, 0x3f, 0x25, 0x66, 0xbf, 0x35,
|
0xbd, 0x2e, 0x13, 0x87, 0xef, 0xb7, 0x1b, 0x7a, 0x93, 0xb6, 0xc4, 0x7d, 0x26, 0x1e, 0x25, 0x66,
|
||||||
0xf6, 0xc3, 0x57, 0x8e, 0x77, 0x3d, 0xcc, 0xe2, 0xb7, 0xae, 0x31, 0x19, 0x7e, 0x19, 0x6f, 0xff,
|
0xbf, 0x35, 0x0e, 0xc3, 0xdb, 0x91, 0x77, 0x3d, 0xcc, 0xe2, 0x3b, 0xb2, 0x31, 0x1d, 0xfe, 0x51,
|
||||||
0x0d, 0x00, 0x00, 0xff, 0xff, 0x50, 0xa3, 0xc5, 0x32, 0x59, 0x07, 0x00, 0x00,
|
0x6f, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x2b, 0xc6, 0x08, 0x2b, 0x91, 0x07, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
// Reference imports to suppress errors if they are not otherwise used.
|
||||||
|
@ -1014,6 +1030,13 @@ func (m *MsgVote) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
if len(m.Metadata) > 0 {
|
||||||
|
i -= len(m.Metadata)
|
||||||
|
copy(dAtA[i:], m.Metadata)
|
||||||
|
i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x22
|
||||||
|
}
|
||||||
if m.Option != 0 {
|
if m.Option != 0 {
|
||||||
i = encodeVarintTx(dAtA, i, uint64(m.Option))
|
i = encodeVarintTx(dAtA, i, uint64(m.Option))
|
||||||
i--
|
i--
|
||||||
|
@ -1077,6 +1100,13 @@ func (m *MsgVoteWeighted) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
if len(m.Metadata) > 0 {
|
||||||
|
i -= len(m.Metadata)
|
||||||
|
copy(dAtA[i:], m.Metadata)
|
||||||
|
i = encodeVarintTx(dAtA, i, uint64(len(m.Metadata)))
|
||||||
|
i--
|
||||||
|
dAtA[i] = 0x22
|
||||||
|
}
|
||||||
if len(m.Options) > 0 {
|
if len(m.Options) > 0 {
|
||||||
for iNdEx := len(m.Options) - 1; iNdEx >= 0; iNdEx-- {
|
for iNdEx := len(m.Options) - 1; iNdEx >= 0; iNdEx-- {
|
||||||
{
|
{
|
||||||
|
@ -1295,6 +1325,10 @@ func (m *MsgVote) Size() (n int) {
|
||||||
if m.Option != 0 {
|
if m.Option != 0 {
|
||||||
n += 1 + sovTx(uint64(m.Option))
|
n += 1 + sovTx(uint64(m.Option))
|
||||||
}
|
}
|
||||||
|
l = len(m.Metadata)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovTx(uint64(l))
|
||||||
|
}
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1326,6 +1360,10 @@ func (m *MsgVoteWeighted) Size() (n int) {
|
||||||
n += 1 + l + sovTx(uint64(l))
|
n += 1 + l + sovTx(uint64(l))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
l = len(m.Metadata)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovTx(uint64(l))
|
||||||
|
}
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1893,6 +1931,38 @@ func (m *MsgVote) Unmarshal(dAtA []byte) error {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
case 4:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowTx
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
stringLen |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
intStringLen := int(stringLen)
|
||||||
|
if intStringLen < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Metadata = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipTx(dAtA[iNdEx:])
|
skippy, err := skipTx(dAtA[iNdEx:])
|
||||||
|
@ -2078,6 +2148,38 @@ func (m *MsgVoteWeighted) Unmarshal(dAtA []byte) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
|
case 4:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowTx
|
||||||
|
}
|
||||||
|
if iNdEx >= l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
b := dAtA[iNdEx]
|
||||||
|
iNdEx++
|
||||||
|
stringLen |= uint64(b&0x7F) << shift
|
||||||
|
if b < 0x80 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
intStringLen := int(stringLen)
|
||||||
|
if intStringLen < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex < 0 {
|
||||||
|
return ErrInvalidLengthTx
|
||||||
|
}
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Metadata = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipTx(dAtA[iNdEx:])
|
skippy, err := skipTx(dAtA[iNdEx:])
|
||||||
|
|
|
@ -17,8 +17,8 @@ const (
|
||||||
|
|
||||||
// NewVote creates a new Vote instance
|
// NewVote creates a new Vote instance
|
||||||
//nolint:interfacer
|
//nolint:interfacer
|
||||||
func NewVote(proposalID uint64, voter sdk.AccAddress, options WeightedVoteOptions) Vote {
|
func NewVote(proposalID uint64, voter sdk.AccAddress, options WeightedVoteOptions, metadata string) Vote {
|
||||||
return Vote{ProposalId: proposalID, Voter: voter.String(), Options: options}
|
return Vote{ProposalId: proposalID, Voter: voter.String(), Options: options, Metadata: metadata}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Empty returns whether a vote is empty.
|
// Empty returns whether a vote is empty.
|
||||||
|
|
Loading…
Reference in New Issue