github.com/cosmos/cosmos-sdk@v0.50.10/x/gov/types/v1/gov.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: cosmos/gov/v1/gov.proto
     3  
     4  package v1
     5  
     6  import (
     7  	fmt "fmt"
     8  	_ "github.com/cosmos/cosmos-proto"
     9  	types1 "github.com/cosmos/cosmos-sdk/codec/types"
    10  	types "github.com/cosmos/cosmos-sdk/types"
    11  	_ "github.com/cosmos/cosmos-sdk/types/tx/amino"
    12  	_ "github.com/cosmos/gogoproto/gogoproto"
    13  	proto "github.com/cosmos/gogoproto/proto"
    14  	github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types"
    15  	_ "google.golang.org/protobuf/types/known/durationpb"
    16  	_ "google.golang.org/protobuf/types/known/timestamppb"
    17  	io "io"
    18  	math "math"
    19  	math_bits "math/bits"
    20  	time "time"
    21  )
    22  
    23  // Reference imports to suppress errors if they are not otherwise used.
    24  var _ = proto.Marshal
    25  var _ = fmt.Errorf
    26  var _ = math.Inf
    27  var _ = time.Kitchen
    28  
    29  // This is a compile-time assertion to ensure that this generated file
    30  // is compatible with the proto package it is being compiled against.
    31  // A compilation error at this line likely means your copy of the
    32  // proto package needs to be updated.
    33  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    34  
    35  // VoteOption enumerates the valid vote options for a given governance proposal.
    36  type VoteOption int32
    37  
    38  const (
    39  	// VOTE_OPTION_UNSPECIFIED defines a no-op vote option.
    40  	VoteOption_VOTE_OPTION_UNSPECIFIED VoteOption = 0
    41  	// VOTE_OPTION_YES defines a yes vote option.
    42  	VoteOption_VOTE_OPTION_YES VoteOption = 1
    43  	// VOTE_OPTION_ABSTAIN defines an abstain vote option.
    44  	VoteOption_VOTE_OPTION_ABSTAIN VoteOption = 2
    45  	// VOTE_OPTION_NO defines a no vote option.
    46  	VoteOption_VOTE_OPTION_NO VoteOption = 3
    47  	// VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.
    48  	VoteOption_VOTE_OPTION_NO_WITH_VETO VoteOption = 4
    49  )
    50  
    51  var VoteOption_name = map[int32]string{
    52  	0: "VOTE_OPTION_UNSPECIFIED",
    53  	1: "VOTE_OPTION_YES",
    54  	2: "VOTE_OPTION_ABSTAIN",
    55  	3: "VOTE_OPTION_NO",
    56  	4: "VOTE_OPTION_NO_WITH_VETO",
    57  }
    58  
    59  var VoteOption_value = map[string]int32{
    60  	"VOTE_OPTION_UNSPECIFIED":  0,
    61  	"VOTE_OPTION_YES":          1,
    62  	"VOTE_OPTION_ABSTAIN":      2,
    63  	"VOTE_OPTION_NO":           3,
    64  	"VOTE_OPTION_NO_WITH_VETO": 4,
    65  }
    66  
    67  func (x VoteOption) String() string {
    68  	return proto.EnumName(VoteOption_name, int32(x))
    69  }
    70  
    71  func (VoteOption) EnumDescriptor() ([]byte, []int) {
    72  	return fileDescriptor_e05cb1c0d030febb, []int{0}
    73  }
    74  
    75  // ProposalStatus enumerates the valid statuses of a proposal.
    76  type ProposalStatus int32
    77  
    78  const (
    79  	// PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.
    80  	ProposalStatus_PROPOSAL_STATUS_UNSPECIFIED ProposalStatus = 0
    81  	// PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
    82  	// period.
    83  	ProposalStatus_PROPOSAL_STATUS_DEPOSIT_PERIOD ProposalStatus = 1
    84  	// PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
    85  	// period.
    86  	ProposalStatus_PROPOSAL_STATUS_VOTING_PERIOD ProposalStatus = 2
    87  	// PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
    88  	// passed.
    89  	ProposalStatus_PROPOSAL_STATUS_PASSED ProposalStatus = 3
    90  	// PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
    91  	// been rejected.
    92  	ProposalStatus_PROPOSAL_STATUS_REJECTED ProposalStatus = 4
    93  	// PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
    94  	// failed.
    95  	ProposalStatus_PROPOSAL_STATUS_FAILED ProposalStatus = 5
    96  )
    97  
    98  var ProposalStatus_name = map[int32]string{
    99  	0: "PROPOSAL_STATUS_UNSPECIFIED",
   100  	1: "PROPOSAL_STATUS_DEPOSIT_PERIOD",
   101  	2: "PROPOSAL_STATUS_VOTING_PERIOD",
   102  	3: "PROPOSAL_STATUS_PASSED",
   103  	4: "PROPOSAL_STATUS_REJECTED",
   104  	5: "PROPOSAL_STATUS_FAILED",
   105  }
   106  
   107  var ProposalStatus_value = map[string]int32{
   108  	"PROPOSAL_STATUS_UNSPECIFIED":    0,
   109  	"PROPOSAL_STATUS_DEPOSIT_PERIOD": 1,
   110  	"PROPOSAL_STATUS_VOTING_PERIOD":  2,
   111  	"PROPOSAL_STATUS_PASSED":         3,
   112  	"PROPOSAL_STATUS_REJECTED":       4,
   113  	"PROPOSAL_STATUS_FAILED":         5,
   114  }
   115  
   116  func (x ProposalStatus) String() string {
   117  	return proto.EnumName(ProposalStatus_name, int32(x))
   118  }
   119  
   120  func (ProposalStatus) EnumDescriptor() ([]byte, []int) {
   121  	return fileDescriptor_e05cb1c0d030febb, []int{1}
   122  }
   123  
   124  // WeightedVoteOption defines a unit of vote for vote split.
   125  type WeightedVoteOption struct {
   126  	// option defines the valid vote options, it must not contain duplicate vote options.
   127  	Option VoteOption `protobuf:"varint,1,opt,name=option,proto3,enum=cosmos.gov.v1.VoteOption" json:"option,omitempty"`
   128  	// weight is the vote weight associated with the vote option.
   129  	Weight string `protobuf:"bytes,2,opt,name=weight,proto3" json:"weight,omitempty"`
   130  }
   131  
   132  func (m *WeightedVoteOption) Reset()         { *m = WeightedVoteOption{} }
   133  func (m *WeightedVoteOption) String() string { return proto.CompactTextString(m) }
   134  func (*WeightedVoteOption) ProtoMessage()    {}
   135  func (*WeightedVoteOption) Descriptor() ([]byte, []int) {
   136  	return fileDescriptor_e05cb1c0d030febb, []int{0}
   137  }
   138  func (m *WeightedVoteOption) XXX_Unmarshal(b []byte) error {
   139  	return m.Unmarshal(b)
   140  }
   141  func (m *WeightedVoteOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   142  	if deterministic {
   143  		return xxx_messageInfo_WeightedVoteOption.Marshal(b, m, deterministic)
   144  	} else {
   145  		b = b[:cap(b)]
   146  		n, err := m.MarshalToSizedBuffer(b)
   147  		if err != nil {
   148  			return nil, err
   149  		}
   150  		return b[:n], nil
   151  	}
   152  }
   153  func (m *WeightedVoteOption) XXX_Merge(src proto.Message) {
   154  	xxx_messageInfo_WeightedVoteOption.Merge(m, src)
   155  }
   156  func (m *WeightedVoteOption) XXX_Size() int {
   157  	return m.Size()
   158  }
   159  func (m *WeightedVoteOption) XXX_DiscardUnknown() {
   160  	xxx_messageInfo_WeightedVoteOption.DiscardUnknown(m)
   161  }
   162  
   163  var xxx_messageInfo_WeightedVoteOption proto.InternalMessageInfo
   164  
   165  func (m *WeightedVoteOption) GetOption() VoteOption {
   166  	if m != nil {
   167  		return m.Option
   168  	}
   169  	return VoteOption_VOTE_OPTION_UNSPECIFIED
   170  }
   171  
   172  func (m *WeightedVoteOption) GetWeight() string {
   173  	if m != nil {
   174  		return m.Weight
   175  	}
   176  	return ""
   177  }
   178  
   179  // Deposit defines an amount deposited by an account address to an active
   180  // proposal.
   181  type Deposit struct {
   182  	// proposal_id defines the unique id of the proposal.
   183  	ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"`
   184  	// depositor defines the deposit addresses from the proposals.
   185  	Depositor string `protobuf:"bytes,2,opt,name=depositor,proto3" json:"depositor,omitempty"`
   186  	// amount to be deposited by depositor.
   187  	Amount []types.Coin `protobuf:"bytes,3,rep,name=amount,proto3" json:"amount"`
   188  }
   189  
   190  func (m *Deposit) Reset()         { *m = Deposit{} }
   191  func (m *Deposit) String() string { return proto.CompactTextString(m) }
   192  func (*Deposit) ProtoMessage()    {}
   193  func (*Deposit) Descriptor() ([]byte, []int) {
   194  	return fileDescriptor_e05cb1c0d030febb, []int{1}
   195  }
   196  func (m *Deposit) XXX_Unmarshal(b []byte) error {
   197  	return m.Unmarshal(b)
   198  }
   199  func (m *Deposit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   200  	if deterministic {
   201  		return xxx_messageInfo_Deposit.Marshal(b, m, deterministic)
   202  	} else {
   203  		b = b[:cap(b)]
   204  		n, err := m.MarshalToSizedBuffer(b)
   205  		if err != nil {
   206  			return nil, err
   207  		}
   208  		return b[:n], nil
   209  	}
   210  }
   211  func (m *Deposit) XXX_Merge(src proto.Message) {
   212  	xxx_messageInfo_Deposit.Merge(m, src)
   213  }
   214  func (m *Deposit) XXX_Size() int {
   215  	return m.Size()
   216  }
   217  func (m *Deposit) XXX_DiscardUnknown() {
   218  	xxx_messageInfo_Deposit.DiscardUnknown(m)
   219  }
   220  
   221  var xxx_messageInfo_Deposit proto.InternalMessageInfo
   222  
   223  func (m *Deposit) GetProposalId() uint64 {
   224  	if m != nil {
   225  		return m.ProposalId
   226  	}
   227  	return 0
   228  }
   229  
   230  func (m *Deposit) GetDepositor() string {
   231  	if m != nil {
   232  		return m.Depositor
   233  	}
   234  	return ""
   235  }
   236  
   237  func (m *Deposit) GetAmount() []types.Coin {
   238  	if m != nil {
   239  		return m.Amount
   240  	}
   241  	return nil
   242  }
   243  
   244  // Proposal defines the core field members of a governance proposal.
   245  type Proposal struct {
   246  	// id defines the unique id of the proposal.
   247  	Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   248  	// messages are the arbitrary messages to be executed if the proposal passes.
   249  	Messages []*types1.Any `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"`
   250  	// status defines the proposal status.
   251  	Status ProposalStatus `protobuf:"varint,3,opt,name=status,proto3,enum=cosmos.gov.v1.ProposalStatus" json:"status,omitempty"`
   252  	// final_tally_result is the final tally result of the proposal. When
   253  	// querying a proposal via gRPC, this field is not populated until the
   254  	// proposal's voting period has ended.
   255  	FinalTallyResult *TallyResult `protobuf:"bytes,4,opt,name=final_tally_result,json=finalTallyResult,proto3" json:"final_tally_result,omitempty"`
   256  	// submit_time is the time of proposal submission.
   257  	SubmitTime *time.Time `protobuf:"bytes,5,opt,name=submit_time,json=submitTime,proto3,stdtime" json:"submit_time,omitempty"`
   258  	// deposit_end_time is the end time for deposition.
   259  	DepositEndTime *time.Time `protobuf:"bytes,6,opt,name=deposit_end_time,json=depositEndTime,proto3,stdtime" json:"deposit_end_time,omitempty"`
   260  	// total_deposit is the total deposit on the proposal.
   261  	TotalDeposit []types.Coin `protobuf:"bytes,7,rep,name=total_deposit,json=totalDeposit,proto3" json:"total_deposit"`
   262  	// voting_start_time is the starting time to vote on a proposal.
   263  	VotingStartTime *time.Time `protobuf:"bytes,8,opt,name=voting_start_time,json=votingStartTime,proto3,stdtime" json:"voting_start_time,omitempty"`
   264  	// voting_end_time is the end time of voting on a proposal.
   265  	VotingEndTime *time.Time `protobuf:"bytes,9,opt,name=voting_end_time,json=votingEndTime,proto3,stdtime" json:"voting_end_time,omitempty"`
   266  	// metadata is any arbitrary metadata attached to the proposal.
   267  	// the recommended format of the metadata is to be found here:
   268  	// https://docs.cosmos.network/v0.47/modules/gov#proposal-3
   269  	Metadata string `protobuf:"bytes,10,opt,name=metadata,proto3" json:"metadata,omitempty"`
   270  	// title is the title of the proposal
   271  	//
   272  	// Since: cosmos-sdk 0.47
   273  	Title string `protobuf:"bytes,11,opt,name=title,proto3" json:"title,omitempty"`
   274  	// summary is a short summary of the proposal
   275  	//
   276  	// Since: cosmos-sdk 0.47
   277  	Summary string `protobuf:"bytes,12,opt,name=summary,proto3" json:"summary,omitempty"`
   278  	// proposer is the address of the proposal sumbitter
   279  	//
   280  	// Since: cosmos-sdk 0.47
   281  	Proposer string `protobuf:"bytes,13,opt,name=proposer,proto3" json:"proposer,omitempty"`
   282  	// expedited defines if the proposal is expedited
   283  	//
   284  	// Since: cosmos-sdk 0.50
   285  	Expedited bool `protobuf:"varint,14,opt,name=expedited,proto3" json:"expedited,omitempty"`
   286  	// failed_reason defines the reason why the proposal failed
   287  	//
   288  	// Since: cosmos-sdk 0.50
   289  	FailedReason string `protobuf:"bytes,15,opt,name=failed_reason,json=failedReason,proto3" json:"failed_reason,omitempty"`
   290  }
   291  
   292  func (m *Proposal) Reset()         { *m = Proposal{} }
   293  func (m *Proposal) String() string { return proto.CompactTextString(m) }
   294  func (*Proposal) ProtoMessage()    {}
   295  func (*Proposal) Descriptor() ([]byte, []int) {
   296  	return fileDescriptor_e05cb1c0d030febb, []int{2}
   297  }
   298  func (m *Proposal) XXX_Unmarshal(b []byte) error {
   299  	return m.Unmarshal(b)
   300  }
   301  func (m *Proposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   302  	if deterministic {
   303  		return xxx_messageInfo_Proposal.Marshal(b, m, deterministic)
   304  	} else {
   305  		b = b[:cap(b)]
   306  		n, err := m.MarshalToSizedBuffer(b)
   307  		if err != nil {
   308  			return nil, err
   309  		}
   310  		return b[:n], nil
   311  	}
   312  }
   313  func (m *Proposal) XXX_Merge(src proto.Message) {
   314  	xxx_messageInfo_Proposal.Merge(m, src)
   315  }
   316  func (m *Proposal) XXX_Size() int {
   317  	return m.Size()
   318  }
   319  func (m *Proposal) XXX_DiscardUnknown() {
   320  	xxx_messageInfo_Proposal.DiscardUnknown(m)
   321  }
   322  
   323  var xxx_messageInfo_Proposal proto.InternalMessageInfo
   324  
   325  func (m *Proposal) GetId() uint64 {
   326  	if m != nil {
   327  		return m.Id
   328  	}
   329  	return 0
   330  }
   331  
   332  func (m *Proposal) GetMessages() []*types1.Any {
   333  	if m != nil {
   334  		return m.Messages
   335  	}
   336  	return nil
   337  }
   338  
   339  func (m *Proposal) GetStatus() ProposalStatus {
   340  	if m != nil {
   341  		return m.Status
   342  	}
   343  	return ProposalStatus_PROPOSAL_STATUS_UNSPECIFIED
   344  }
   345  
   346  func (m *Proposal) GetFinalTallyResult() *TallyResult {
   347  	if m != nil {
   348  		return m.FinalTallyResult
   349  	}
   350  	return nil
   351  }
   352  
   353  func (m *Proposal) GetSubmitTime() *time.Time {
   354  	if m != nil {
   355  		return m.SubmitTime
   356  	}
   357  	return nil
   358  }
   359  
   360  func (m *Proposal) GetDepositEndTime() *time.Time {
   361  	if m != nil {
   362  		return m.DepositEndTime
   363  	}
   364  	return nil
   365  }
   366  
   367  func (m *Proposal) GetTotalDeposit() []types.Coin {
   368  	if m != nil {
   369  		return m.TotalDeposit
   370  	}
   371  	return nil
   372  }
   373  
   374  func (m *Proposal) GetVotingStartTime() *time.Time {
   375  	if m != nil {
   376  		return m.VotingStartTime
   377  	}
   378  	return nil
   379  }
   380  
   381  func (m *Proposal) GetVotingEndTime() *time.Time {
   382  	if m != nil {
   383  		return m.VotingEndTime
   384  	}
   385  	return nil
   386  }
   387  
   388  func (m *Proposal) GetMetadata() string {
   389  	if m != nil {
   390  		return m.Metadata
   391  	}
   392  	return ""
   393  }
   394  
   395  func (m *Proposal) GetTitle() string {
   396  	if m != nil {
   397  		return m.Title
   398  	}
   399  	return ""
   400  }
   401  
   402  func (m *Proposal) GetSummary() string {
   403  	if m != nil {
   404  		return m.Summary
   405  	}
   406  	return ""
   407  }
   408  
   409  func (m *Proposal) GetProposer() string {
   410  	if m != nil {
   411  		return m.Proposer
   412  	}
   413  	return ""
   414  }
   415  
   416  func (m *Proposal) GetExpedited() bool {
   417  	if m != nil {
   418  		return m.Expedited
   419  	}
   420  	return false
   421  }
   422  
   423  func (m *Proposal) GetFailedReason() string {
   424  	if m != nil {
   425  		return m.FailedReason
   426  	}
   427  	return ""
   428  }
   429  
   430  // TallyResult defines a standard tally for a governance proposal.
   431  type TallyResult struct {
   432  	// yes_count is the number of yes votes on a proposal.
   433  	YesCount string `protobuf:"bytes,1,opt,name=yes_count,json=yesCount,proto3" json:"yes_count,omitempty"`
   434  	// abstain_count is the number of abstain votes on a proposal.
   435  	AbstainCount string `protobuf:"bytes,2,opt,name=abstain_count,json=abstainCount,proto3" json:"abstain_count,omitempty"`
   436  	// no_count is the number of no votes on a proposal.
   437  	NoCount string `protobuf:"bytes,3,opt,name=no_count,json=noCount,proto3" json:"no_count,omitempty"`
   438  	// no_with_veto_count is the number of no with veto votes on a proposal.
   439  	NoWithVetoCount string `protobuf:"bytes,4,opt,name=no_with_veto_count,json=noWithVetoCount,proto3" json:"no_with_veto_count,omitempty"`
   440  }
   441  
   442  func (m *TallyResult) Reset()         { *m = TallyResult{} }
   443  func (m *TallyResult) String() string { return proto.CompactTextString(m) }
   444  func (*TallyResult) ProtoMessage()    {}
   445  func (*TallyResult) Descriptor() ([]byte, []int) {
   446  	return fileDescriptor_e05cb1c0d030febb, []int{3}
   447  }
   448  func (m *TallyResult) XXX_Unmarshal(b []byte) error {
   449  	return m.Unmarshal(b)
   450  }
   451  func (m *TallyResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   452  	if deterministic {
   453  		return xxx_messageInfo_TallyResult.Marshal(b, m, deterministic)
   454  	} else {
   455  		b = b[:cap(b)]
   456  		n, err := m.MarshalToSizedBuffer(b)
   457  		if err != nil {
   458  			return nil, err
   459  		}
   460  		return b[:n], nil
   461  	}
   462  }
   463  func (m *TallyResult) XXX_Merge(src proto.Message) {
   464  	xxx_messageInfo_TallyResult.Merge(m, src)
   465  }
   466  func (m *TallyResult) XXX_Size() int {
   467  	return m.Size()
   468  }
   469  func (m *TallyResult) XXX_DiscardUnknown() {
   470  	xxx_messageInfo_TallyResult.DiscardUnknown(m)
   471  }
   472  
   473  var xxx_messageInfo_TallyResult proto.InternalMessageInfo
   474  
   475  func (m *TallyResult) GetYesCount() string {
   476  	if m != nil {
   477  		return m.YesCount
   478  	}
   479  	return ""
   480  }
   481  
   482  func (m *TallyResult) GetAbstainCount() string {
   483  	if m != nil {
   484  		return m.AbstainCount
   485  	}
   486  	return ""
   487  }
   488  
   489  func (m *TallyResult) GetNoCount() string {
   490  	if m != nil {
   491  		return m.NoCount
   492  	}
   493  	return ""
   494  }
   495  
   496  func (m *TallyResult) GetNoWithVetoCount() string {
   497  	if m != nil {
   498  		return m.NoWithVetoCount
   499  	}
   500  	return ""
   501  }
   502  
   503  // Vote defines a vote on a governance proposal.
   504  // A Vote consists of a proposal ID, the voter, and the vote option.
   505  type Vote struct {
   506  	// proposal_id defines the unique id of the proposal.
   507  	ProposalId uint64 `protobuf:"varint,1,opt,name=proposal_id,json=proposalId,proto3" json:"proposal_id,omitempty"`
   508  	// voter is the voter address of the proposal.
   509  	Voter string `protobuf:"bytes,2,opt,name=voter,proto3" json:"voter,omitempty"`
   510  	// options is the weighted vote options.
   511  	Options []*WeightedVoteOption `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"`
   512  	// metadata is any arbitrary metadata attached to the vote.
   513  	// the recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5
   514  	Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"`
   515  }
   516  
   517  func (m *Vote) Reset()         { *m = Vote{} }
   518  func (m *Vote) String() string { return proto.CompactTextString(m) }
   519  func (*Vote) ProtoMessage()    {}
   520  func (*Vote) Descriptor() ([]byte, []int) {
   521  	return fileDescriptor_e05cb1c0d030febb, []int{4}
   522  }
   523  func (m *Vote) XXX_Unmarshal(b []byte) error {
   524  	return m.Unmarshal(b)
   525  }
   526  func (m *Vote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   527  	if deterministic {
   528  		return xxx_messageInfo_Vote.Marshal(b, m, deterministic)
   529  	} else {
   530  		b = b[:cap(b)]
   531  		n, err := m.MarshalToSizedBuffer(b)
   532  		if err != nil {
   533  			return nil, err
   534  		}
   535  		return b[:n], nil
   536  	}
   537  }
   538  func (m *Vote) XXX_Merge(src proto.Message) {
   539  	xxx_messageInfo_Vote.Merge(m, src)
   540  }
   541  func (m *Vote) XXX_Size() int {
   542  	return m.Size()
   543  }
   544  func (m *Vote) XXX_DiscardUnknown() {
   545  	xxx_messageInfo_Vote.DiscardUnknown(m)
   546  }
   547  
   548  var xxx_messageInfo_Vote proto.InternalMessageInfo
   549  
   550  func (m *Vote) GetProposalId() uint64 {
   551  	if m != nil {
   552  		return m.ProposalId
   553  	}
   554  	return 0
   555  }
   556  
   557  func (m *Vote) GetVoter() string {
   558  	if m != nil {
   559  		return m.Voter
   560  	}
   561  	return ""
   562  }
   563  
   564  func (m *Vote) GetOptions() []*WeightedVoteOption {
   565  	if m != nil {
   566  		return m.Options
   567  	}
   568  	return nil
   569  }
   570  
   571  func (m *Vote) GetMetadata() string {
   572  	if m != nil {
   573  		return m.Metadata
   574  	}
   575  	return ""
   576  }
   577  
   578  // DepositParams defines the params for deposits on governance proposals.
   579  //
   580  // Deprecated: Do not use.
   581  type DepositParams struct {
   582  	// Minimum deposit for a proposal to enter voting period.
   583  	MinDeposit []types.Coin `protobuf:"bytes,1,rep,name=min_deposit,json=minDeposit,proto3" json:"min_deposit,omitempty"`
   584  	// Maximum period for Atom holders to deposit on a proposal. Initial value: 2
   585  	// months.
   586  	MaxDepositPeriod *time.Duration `protobuf:"bytes,2,opt,name=max_deposit_period,json=maxDepositPeriod,proto3,stdduration" json:"max_deposit_period,omitempty"`
   587  }
   588  
   589  func (m *DepositParams) Reset()         { *m = DepositParams{} }
   590  func (m *DepositParams) String() string { return proto.CompactTextString(m) }
   591  func (*DepositParams) ProtoMessage()    {}
   592  func (*DepositParams) Descriptor() ([]byte, []int) {
   593  	return fileDescriptor_e05cb1c0d030febb, []int{5}
   594  }
   595  func (m *DepositParams) XXX_Unmarshal(b []byte) error {
   596  	return m.Unmarshal(b)
   597  }
   598  func (m *DepositParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   599  	if deterministic {
   600  		return xxx_messageInfo_DepositParams.Marshal(b, m, deterministic)
   601  	} else {
   602  		b = b[:cap(b)]
   603  		n, err := m.MarshalToSizedBuffer(b)
   604  		if err != nil {
   605  			return nil, err
   606  		}
   607  		return b[:n], nil
   608  	}
   609  }
   610  func (m *DepositParams) XXX_Merge(src proto.Message) {
   611  	xxx_messageInfo_DepositParams.Merge(m, src)
   612  }
   613  func (m *DepositParams) XXX_Size() int {
   614  	return m.Size()
   615  }
   616  func (m *DepositParams) XXX_DiscardUnknown() {
   617  	xxx_messageInfo_DepositParams.DiscardUnknown(m)
   618  }
   619  
   620  var xxx_messageInfo_DepositParams proto.InternalMessageInfo
   621  
   622  func (m *DepositParams) GetMinDeposit() []types.Coin {
   623  	if m != nil {
   624  		return m.MinDeposit
   625  	}
   626  	return nil
   627  }
   628  
   629  func (m *DepositParams) GetMaxDepositPeriod() *time.Duration {
   630  	if m != nil {
   631  		return m.MaxDepositPeriod
   632  	}
   633  	return nil
   634  }
   635  
   636  // VotingParams defines the params for voting on governance proposals.
   637  //
   638  // Deprecated: Do not use.
   639  type VotingParams struct {
   640  	// Duration of the voting period.
   641  	VotingPeriod *time.Duration `protobuf:"bytes,1,opt,name=voting_period,json=votingPeriod,proto3,stdduration" json:"voting_period,omitempty"`
   642  }
   643  
   644  func (m *VotingParams) Reset()         { *m = VotingParams{} }
   645  func (m *VotingParams) String() string { return proto.CompactTextString(m) }
   646  func (*VotingParams) ProtoMessage()    {}
   647  func (*VotingParams) Descriptor() ([]byte, []int) {
   648  	return fileDescriptor_e05cb1c0d030febb, []int{6}
   649  }
   650  func (m *VotingParams) XXX_Unmarshal(b []byte) error {
   651  	return m.Unmarshal(b)
   652  }
   653  func (m *VotingParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   654  	if deterministic {
   655  		return xxx_messageInfo_VotingParams.Marshal(b, m, deterministic)
   656  	} else {
   657  		b = b[:cap(b)]
   658  		n, err := m.MarshalToSizedBuffer(b)
   659  		if err != nil {
   660  			return nil, err
   661  		}
   662  		return b[:n], nil
   663  	}
   664  }
   665  func (m *VotingParams) XXX_Merge(src proto.Message) {
   666  	xxx_messageInfo_VotingParams.Merge(m, src)
   667  }
   668  func (m *VotingParams) XXX_Size() int {
   669  	return m.Size()
   670  }
   671  func (m *VotingParams) XXX_DiscardUnknown() {
   672  	xxx_messageInfo_VotingParams.DiscardUnknown(m)
   673  }
   674  
   675  var xxx_messageInfo_VotingParams proto.InternalMessageInfo
   676  
   677  func (m *VotingParams) GetVotingPeriod() *time.Duration {
   678  	if m != nil {
   679  		return m.VotingPeriod
   680  	}
   681  	return nil
   682  }
   683  
   684  // TallyParams defines the params for tallying votes on governance proposals.
   685  //
   686  // Deprecated: Do not use.
   687  type TallyParams struct {
   688  	// Minimum percentage of total stake needed to vote for a result to be
   689  	// considered valid.
   690  	Quorum string `protobuf:"bytes,1,opt,name=quorum,proto3" json:"quorum,omitempty"`
   691  	// Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.
   692  	Threshold string `protobuf:"bytes,2,opt,name=threshold,proto3" json:"threshold,omitempty"`
   693  	// Minimum value of Veto votes to Total votes ratio for proposal to be
   694  	// vetoed. Default value: 1/3.
   695  	VetoThreshold string `protobuf:"bytes,3,opt,name=veto_threshold,json=vetoThreshold,proto3" json:"veto_threshold,omitempty"`
   696  }
   697  
   698  func (m *TallyParams) Reset()         { *m = TallyParams{} }
   699  func (m *TallyParams) String() string { return proto.CompactTextString(m) }
   700  func (*TallyParams) ProtoMessage()    {}
   701  func (*TallyParams) Descriptor() ([]byte, []int) {
   702  	return fileDescriptor_e05cb1c0d030febb, []int{7}
   703  }
   704  func (m *TallyParams) XXX_Unmarshal(b []byte) error {
   705  	return m.Unmarshal(b)
   706  }
   707  func (m *TallyParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   708  	if deterministic {
   709  		return xxx_messageInfo_TallyParams.Marshal(b, m, deterministic)
   710  	} else {
   711  		b = b[:cap(b)]
   712  		n, err := m.MarshalToSizedBuffer(b)
   713  		if err != nil {
   714  			return nil, err
   715  		}
   716  		return b[:n], nil
   717  	}
   718  }
   719  func (m *TallyParams) XXX_Merge(src proto.Message) {
   720  	xxx_messageInfo_TallyParams.Merge(m, src)
   721  }
   722  func (m *TallyParams) XXX_Size() int {
   723  	return m.Size()
   724  }
   725  func (m *TallyParams) XXX_DiscardUnknown() {
   726  	xxx_messageInfo_TallyParams.DiscardUnknown(m)
   727  }
   728  
   729  var xxx_messageInfo_TallyParams proto.InternalMessageInfo
   730  
   731  func (m *TallyParams) GetQuorum() string {
   732  	if m != nil {
   733  		return m.Quorum
   734  	}
   735  	return ""
   736  }
   737  
   738  func (m *TallyParams) GetThreshold() string {
   739  	if m != nil {
   740  		return m.Threshold
   741  	}
   742  	return ""
   743  }
   744  
   745  func (m *TallyParams) GetVetoThreshold() string {
   746  	if m != nil {
   747  		return m.VetoThreshold
   748  	}
   749  	return ""
   750  }
   751  
   752  // Params defines the parameters for the x/gov module.
   753  //
   754  // Since: cosmos-sdk 0.47
   755  type Params struct {
   756  	// Minimum deposit for a proposal to enter voting period.
   757  	MinDeposit []types.Coin `protobuf:"bytes,1,rep,name=min_deposit,json=minDeposit,proto3" json:"min_deposit"`
   758  	// Maximum period for Atom holders to deposit on a proposal. Initial value: 2
   759  	// months.
   760  	MaxDepositPeriod *time.Duration `protobuf:"bytes,2,opt,name=max_deposit_period,json=maxDepositPeriod,proto3,stdduration" json:"max_deposit_period,omitempty"`
   761  	// Duration of the voting period.
   762  	VotingPeriod *time.Duration `protobuf:"bytes,3,opt,name=voting_period,json=votingPeriod,proto3,stdduration" json:"voting_period,omitempty"`
   763  	// Minimum percentage of total stake needed to vote for a result to be
   764  	// considered valid.
   765  	Quorum string `protobuf:"bytes,4,opt,name=quorum,proto3" json:"quorum,omitempty"`
   766  	// Minimum proportion of Yes votes for proposal to pass. Default value: 0.5.
   767  	Threshold string `protobuf:"bytes,5,opt,name=threshold,proto3" json:"threshold,omitempty"`
   768  	// Minimum value of Veto votes to Total votes ratio for proposal to be
   769  	// vetoed. Default value: 1/3.
   770  	VetoThreshold string `protobuf:"bytes,6,opt,name=veto_threshold,json=vetoThreshold,proto3" json:"veto_threshold,omitempty"`
   771  	// The ratio representing the proportion of the deposit value that must be paid at proposal submission.
   772  	MinInitialDepositRatio string `protobuf:"bytes,7,opt,name=min_initial_deposit_ratio,json=minInitialDepositRatio,proto3" json:"min_initial_deposit_ratio,omitempty"`
   773  	// The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.
   774  	//
   775  	// Since: cosmos-sdk 0.50
   776  	ProposalCancelRatio string `protobuf:"bytes,8,opt,name=proposal_cancel_ratio,json=proposalCancelRatio,proto3" json:"proposal_cancel_ratio,omitempty"`
   777  	// The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.
   778  	// If empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.
   779  	//
   780  	// Since: cosmos-sdk 0.50
   781  	ProposalCancelDest string `protobuf:"bytes,9,opt,name=proposal_cancel_dest,json=proposalCancelDest,proto3" json:"proposal_cancel_dest,omitempty"`
   782  	// Duration of the voting period of an expedited proposal.
   783  	//
   784  	// Since: cosmos-sdk 0.50
   785  	ExpeditedVotingPeriod *time.Duration `protobuf:"bytes,10,opt,name=expedited_voting_period,json=expeditedVotingPeriod,proto3,stdduration" json:"expedited_voting_period,omitempty"`
   786  	// Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.
   787  	//
   788  	// Since: cosmos-sdk 0.50
   789  	ExpeditedThreshold string `protobuf:"bytes,11,opt,name=expedited_threshold,json=expeditedThreshold,proto3" json:"expedited_threshold,omitempty"`
   790  	// Minimum expedited deposit for a proposal to enter voting period.
   791  	ExpeditedMinDeposit []types.Coin `protobuf:"bytes,12,rep,name=expedited_min_deposit,json=expeditedMinDeposit,proto3" json:"expedited_min_deposit"`
   792  	// burn deposits if a proposal does not meet quorum
   793  	BurnVoteQuorum bool `protobuf:"varint,13,opt,name=burn_vote_quorum,json=burnVoteQuorum,proto3" json:"burn_vote_quorum,omitempty"`
   794  	// burn deposits if the proposal does not enter voting period
   795  	BurnProposalDepositPrevote bool `protobuf:"varint,14,opt,name=burn_proposal_deposit_prevote,json=burnProposalDepositPrevote,proto3" json:"burn_proposal_deposit_prevote,omitempty"`
   796  	// burn deposits if quorum with vote type no_veto is met
   797  	BurnVoteVeto bool `protobuf:"varint,15,opt,name=burn_vote_veto,json=burnVoteVeto,proto3" json:"burn_vote_veto,omitempty"`
   798  	// The ratio representing the proportion of the deposit value minimum that must be met when making a deposit.
   799  	// Default value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be
   800  	// required.
   801  	//
   802  	// Since: cosmos-sdk 0.50
   803  	MinDepositRatio string `protobuf:"bytes,16,opt,name=min_deposit_ratio,json=minDepositRatio,proto3" json:"min_deposit_ratio,omitempty"`
   804  }
   805  
   806  func (m *Params) Reset()         { *m = Params{} }
   807  func (m *Params) String() string { return proto.CompactTextString(m) }
   808  func (*Params) ProtoMessage()    {}
   809  func (*Params) Descriptor() ([]byte, []int) {
   810  	return fileDescriptor_e05cb1c0d030febb, []int{8}
   811  }
   812  func (m *Params) XXX_Unmarshal(b []byte) error {
   813  	return m.Unmarshal(b)
   814  }
   815  func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   816  	if deterministic {
   817  		return xxx_messageInfo_Params.Marshal(b, m, deterministic)
   818  	} else {
   819  		b = b[:cap(b)]
   820  		n, err := m.MarshalToSizedBuffer(b)
   821  		if err != nil {
   822  			return nil, err
   823  		}
   824  		return b[:n], nil
   825  	}
   826  }
   827  func (m *Params) XXX_Merge(src proto.Message) {
   828  	xxx_messageInfo_Params.Merge(m, src)
   829  }
   830  func (m *Params) XXX_Size() int {
   831  	return m.Size()
   832  }
   833  func (m *Params) XXX_DiscardUnknown() {
   834  	xxx_messageInfo_Params.DiscardUnknown(m)
   835  }
   836  
   837  var xxx_messageInfo_Params proto.InternalMessageInfo
   838  
   839  func (m *Params) GetMinDeposit() []types.Coin {
   840  	if m != nil {
   841  		return m.MinDeposit
   842  	}
   843  	return nil
   844  }
   845  
   846  func (m *Params) GetMaxDepositPeriod() *time.Duration {
   847  	if m != nil {
   848  		return m.MaxDepositPeriod
   849  	}
   850  	return nil
   851  }
   852  
   853  func (m *Params) GetVotingPeriod() *time.Duration {
   854  	if m != nil {
   855  		return m.VotingPeriod
   856  	}
   857  	return nil
   858  }
   859  
   860  func (m *Params) GetQuorum() string {
   861  	if m != nil {
   862  		return m.Quorum
   863  	}
   864  	return ""
   865  }
   866  
   867  func (m *Params) GetThreshold() string {
   868  	if m != nil {
   869  		return m.Threshold
   870  	}
   871  	return ""
   872  }
   873  
   874  func (m *Params) GetVetoThreshold() string {
   875  	if m != nil {
   876  		return m.VetoThreshold
   877  	}
   878  	return ""
   879  }
   880  
   881  func (m *Params) GetMinInitialDepositRatio() string {
   882  	if m != nil {
   883  		return m.MinInitialDepositRatio
   884  	}
   885  	return ""
   886  }
   887  
   888  func (m *Params) GetProposalCancelRatio() string {
   889  	if m != nil {
   890  		return m.ProposalCancelRatio
   891  	}
   892  	return ""
   893  }
   894  
   895  func (m *Params) GetProposalCancelDest() string {
   896  	if m != nil {
   897  		return m.ProposalCancelDest
   898  	}
   899  	return ""
   900  }
   901  
   902  func (m *Params) GetExpeditedVotingPeriod() *time.Duration {
   903  	if m != nil {
   904  		return m.ExpeditedVotingPeriod
   905  	}
   906  	return nil
   907  }
   908  
   909  func (m *Params) GetExpeditedThreshold() string {
   910  	if m != nil {
   911  		return m.ExpeditedThreshold
   912  	}
   913  	return ""
   914  }
   915  
   916  func (m *Params) GetExpeditedMinDeposit() []types.Coin {
   917  	if m != nil {
   918  		return m.ExpeditedMinDeposit
   919  	}
   920  	return nil
   921  }
   922  
   923  func (m *Params) GetBurnVoteQuorum() bool {
   924  	if m != nil {
   925  		return m.BurnVoteQuorum
   926  	}
   927  	return false
   928  }
   929  
   930  func (m *Params) GetBurnProposalDepositPrevote() bool {
   931  	if m != nil {
   932  		return m.BurnProposalDepositPrevote
   933  	}
   934  	return false
   935  }
   936  
   937  func (m *Params) GetBurnVoteVeto() bool {
   938  	if m != nil {
   939  		return m.BurnVoteVeto
   940  	}
   941  	return false
   942  }
   943  
   944  func (m *Params) GetMinDepositRatio() string {
   945  	if m != nil {
   946  		return m.MinDepositRatio
   947  	}
   948  	return ""
   949  }
   950  
   951  func init() {
   952  	proto.RegisterEnum("cosmos.gov.v1.VoteOption", VoteOption_name, VoteOption_value)
   953  	proto.RegisterEnum("cosmos.gov.v1.ProposalStatus", ProposalStatus_name, ProposalStatus_value)
   954  	proto.RegisterType((*WeightedVoteOption)(nil), "cosmos.gov.v1.WeightedVoteOption")
   955  	proto.RegisterType((*Deposit)(nil), "cosmos.gov.v1.Deposit")
   956  	proto.RegisterType((*Proposal)(nil), "cosmos.gov.v1.Proposal")
   957  	proto.RegisterType((*TallyResult)(nil), "cosmos.gov.v1.TallyResult")
   958  	proto.RegisterType((*Vote)(nil), "cosmos.gov.v1.Vote")
   959  	proto.RegisterType((*DepositParams)(nil), "cosmos.gov.v1.DepositParams")
   960  	proto.RegisterType((*VotingParams)(nil), "cosmos.gov.v1.VotingParams")
   961  	proto.RegisterType((*TallyParams)(nil), "cosmos.gov.v1.TallyParams")
   962  	proto.RegisterType((*Params)(nil), "cosmos.gov.v1.Params")
   963  }
   964  
   965  func init() { proto.RegisterFile("cosmos/gov/v1/gov.proto", fileDescriptor_e05cb1c0d030febb) }
   966  
   967  var fileDescriptor_e05cb1c0d030febb = []byte{
   968  	// 1432 bytes of a gzipped FileDescriptorProto
   969  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4b, 0x6f, 0xdb, 0xc6,
   970  	0x16, 0x36, 0x25, 0x59, 0x96, 0x8f, 0x1e, 0x56, 0xc6, 0x4e, 0x4c, 0x3b, 0xb1, 0xec, 0xe8, 0x06,
   971  	0x81, 0x6f, 0x1e, 0xd2, 0x75, 0x72, 0x73, 0x17, 0xc9, 0x05, 0x0a, 0xd9, 0x62, 0x1a, 0x1a, 0x89,
   972  	0xa5, 0x52, 0x8a, 0x9d, 0x74, 0x43, 0xd0, 0xe6, 0x44, 0x1e, 0x54, 0xe4, 0xa8, 0x9c, 0x91, 0x63,
   973  	0xed, 0xbb, 0xe9, 0xaa, 0x59, 0x76, 0x55, 0x74, 0xd9, 0x65, 0x17, 0x41, 0x7f, 0x43, 0x56, 0x45,
   974  	0x90, 0x4d, 0xbb, 0x69, 0x5a, 0x24, 0x8b, 0x02, 0xf9, 0x15, 0x05, 0x87, 0x43, 0x91, 0x96, 0xd5,
   975  	0xda, 0xce, 0xc6, 0x16, 0xcf, 0xf9, 0xbe, 0x6f, 0xce, 0x9c, 0xc7, 0x0c, 0x09, 0xf3, 0x7b, 0x94,
   976  	0x39, 0x94, 0x55, 0x3b, 0xf4, 0xa0, 0x7a, 0xb0, 0xe6, 0xff, 0xab, 0xf4, 0x3c, 0xca, 0x29, 0xca,
   977  	0x07, 0x8e, 0x8a, 0x6f, 0x39, 0x58, 0x5b, 0x2c, 0x49, 0xdc, 0xae, 0xc5, 0x70, 0xf5, 0x60, 0x6d,
   978  	0x17, 0x73, 0x6b, 0xad, 0xba, 0x47, 0x89, 0x1b, 0xc0, 0x17, 0xe7, 0x3a, 0xb4, 0x43, 0xc5, 0xcf,
   979  	0xaa, 0xff, 0x4b, 0x5a, 0x97, 0x3b, 0x94, 0x76, 0xba, 0xb8, 0x2a, 0x9e, 0x76, 0xfb, 0xcf, 0xaa,
   980  	0x9c, 0x38, 0x98, 0x71, 0xcb, 0xe9, 0x49, 0xc0, 0xc2, 0x28, 0xc0, 0x72, 0x07, 0xd2, 0x55, 0x1a,
   981  	0x75, 0xd9, 0x7d, 0xcf, 0xe2, 0x84, 0x86, 0x2b, 0x2e, 0x04, 0x11, 0x99, 0xc1, 0xa2, 0x32, 0xda,
   982  	0xc0, 0x75, 0xce, 0x72, 0x88, 0x4b, 0xab, 0xe2, 0x6f, 0x60, 0x2a, 0x53, 0x40, 0x3b, 0x98, 0x74,
   983  	0xf6, 0x39, 0xb6, 0xb7, 0x29, 0xc7, 0x8d, 0x9e, 0xaf, 0x84, 0xd6, 0x20, 0x4d, 0xc5, 0x2f, 0x55,
   984  	0x59, 0x51, 0x56, 0x0b, 0xb7, 0x16, 0x2a, 0x47, 0x76, 0x5d, 0x89, 0xa0, 0x86, 0x04, 0xa2, 0xab,
   985  	0x90, 0x7e, 0x2e, 0x84, 0xd4, 0xc4, 0x8a, 0xb2, 0x3a, 0xbd, 0x5e, 0x78, 0xf3, 0xf2, 0x26, 0x48,
   986  	0x56, 0x1d, 0xef, 0x19, 0xd2, 0x5b, 0xfe, 0x5e, 0x81, 0xa9, 0x3a, 0xee, 0x51, 0x46, 0x38, 0x5a,
   987  	0x86, 0x6c, 0xcf, 0xa3, 0x3d, 0xca, 0xac, 0xae, 0x49, 0x6c, 0xb1, 0x56, 0xca, 0x80, 0xd0, 0xa4,
   988  	0xdb, 0xe8, 0x7f, 0x30, 0x6d, 0x07, 0x58, 0xea, 0x49, 0x5d, 0xf5, 0xcd, 0xcb, 0x9b, 0x73, 0x52,
   989  	0xb7, 0x66, 0xdb, 0x1e, 0x66, 0xac, 0xc5, 0x3d, 0xe2, 0x76, 0x8c, 0x08, 0x8a, 0xfe, 0x0f, 0x69,
   990  	0xcb, 0xa1, 0x7d, 0x97, 0xab, 0xc9, 0x95, 0xe4, 0x6a, 0x36, 0x8a, 0xdf, 0x2f, 0x53, 0x45, 0x96,
   991  	0xa9, 0xb2, 0x41, 0x89, 0xbb, 0x3e, 0xfd, 0xea, 0xed, 0xf2, 0xc4, 0x0f, 0x7f, 0xfe, 0x78, 0x4d,
   992  	0x31, 0x24, 0xa7, 0xfc, 0x55, 0x1a, 0x32, 0x4d, 0x19, 0x04, 0x2a, 0x40, 0x62, 0x18, 0x5a, 0x82,
   993  	0xd8, 0xe8, 0x3f, 0x90, 0x71, 0x30, 0x63, 0x56, 0x07, 0x33, 0x35, 0x21, 0xc4, 0xe7, 0x2a, 0x41,
   994  	0x45, 0x2a, 0x61, 0x45, 0x2a, 0x35, 0x77, 0x60, 0x0c, 0x51, 0xe8, 0x0e, 0xa4, 0x19, 0xb7, 0x78,
   995  	0x9f, 0xa9, 0x49, 0x91, 0xcc, 0xa5, 0x91, 0x64, 0x86, 0x4b, 0xb5, 0x04, 0xc8, 0x90, 0x60, 0xf4,
   996  	0x00, 0xd0, 0x33, 0xe2, 0x5a, 0x5d, 0x93, 0x5b, 0xdd, 0xee, 0xc0, 0xf4, 0x30, 0xeb, 0x77, 0xb9,
   997  	0x9a, 0x5a, 0x51, 0x56, 0xb3, 0xb7, 0x16, 0x47, 0x24, 0xda, 0x3e, 0xc4, 0x10, 0x08, 0xa3, 0x28,
   998  	0x58, 0x31, 0x0b, 0xaa, 0x41, 0x96, 0xf5, 0x77, 0x1d, 0xc2, 0x4d, 0xbf, 0xcd, 0xd4, 0x49, 0x29,
   999  	0x31, 0x1a, 0x75, 0x3b, 0xec, 0xc1, 0xf5, 0xd4, 0x8b, 0xdf, 0x97, 0x15, 0x03, 0x02, 0x92, 0x6f,
  1000  	0x46, 0x9b, 0x50, 0x94, 0xd9, 0x35, 0xb1, 0x6b, 0x07, 0x3a, 0xe9, 0x53, 0xea, 0x14, 0x24, 0x53,
  1001  	0x73, 0x6d, 0xa1, 0xa5, 0x43, 0x9e, 0x53, 0x6e, 0x75, 0x4d, 0x69, 0x57, 0xa7, 0xce, 0x50, 0xa3,
  1002  	0x9c, 0xa0, 0x86, 0x0d, 0xf4, 0x10, 0xce, 0x1d, 0x50, 0x4e, 0xdc, 0x8e, 0xc9, 0xb8, 0xe5, 0xc9,
  1003  	0xfd, 0x65, 0x4e, 0x19, 0xd7, 0x4c, 0x40, 0x6d, 0xf9, 0x4c, 0x11, 0xd8, 0x03, 0x90, 0xa6, 0x68,
  1004  	0x8f, 0xd3, 0xa7, 0xd4, 0xca, 0x07, 0xc4, 0x70, 0x8b, 0x8b, 0x7e, 0x93, 0x70, 0xcb, 0xb6, 0xb8,
  1005  	0xa5, 0x82, 0xdf, 0xb6, 0xc6, 0xf0, 0x19, 0xcd, 0xc1, 0x24, 0x27, 0xbc, 0x8b, 0xd5, 0xac, 0x70,
  1006  	0x04, 0x0f, 0x48, 0x85, 0x29, 0xd6, 0x77, 0x1c, 0xcb, 0x1b, 0xa8, 0x39, 0x61, 0x0f, 0x1f, 0xd1,
  1007  	0x7f, 0x21, 0x13, 0x4c, 0x04, 0xf6, 0xd4, 0xfc, 0x09, 0x23, 0x30, 0x44, 0xa2, 0x4b, 0x30, 0x8d,
  1008  	0x0f, 0x7b, 0xd8, 0x26, 0x1c, 0xdb, 0x6a, 0x61, 0x45, 0x59, 0xcd, 0x18, 0x91, 0x01, 0xfd, 0x0b,
  1009  	0xf2, 0xcf, 0x2c, 0xd2, 0xc5, 0xb6, 0xe9, 0x61, 0x8b, 0x51, 0x57, 0x9d, 0x11, 0x6b, 0xe6, 0x02,
  1010  	0xa3, 0x21, 0x6c, 0xe5, 0x5f, 0x14, 0xc8, 0xc6, 0xdb, 0xe8, 0x3a, 0x4c, 0x0f, 0x30, 0x33, 0xf7,
  1011  	0xc4, 0x5c, 0x29, 0xc7, 0x86, 0x5c, 0x77, 0xb9, 0x91, 0x19, 0x60, 0xb6, 0xe1, 0xfb, 0xd1, 0x6d,
  1012  	0xc8, 0x5b, 0xbb, 0x8c, 0x5b, 0xc4, 0x95, 0x84, 0xc4, 0x58, 0x42, 0x4e, 0x82, 0x02, 0xd2, 0xbf,
  1013  	0x21, 0xe3, 0x52, 0x89, 0x4f, 0x8e, 0xc5, 0x4f, 0xb9, 0x34, 0x80, 0xde, 0x03, 0xe4, 0x52, 0xf3,
  1014  	0x39, 0xe1, 0xfb, 0xe6, 0x01, 0xe6, 0x21, 0x29, 0x35, 0x96, 0x34, 0xe3, 0xd2, 0x1d, 0xc2, 0xf7,
  1015  	0xb7, 0x31, 0x0f, 0xc8, 0xe5, 0x9f, 0x14, 0x48, 0xf9, 0x47, 0xd8, 0xc9, 0x07, 0x50, 0x05, 0x26,
  1016  	0x0f, 0x28, 0xc7, 0x27, 0x1f, 0x3e, 0x01, 0x0c, 0xdd, 0x83, 0xa9, 0xe0, 0x3c, 0x64, 0x6a, 0x4a,
  1017  	0x74, 0xf5, 0xe5, 0x91, 0x49, 0x3d, 0x7e, 0xd8, 0x1a, 0x21, 0xe3, 0x48, 0xd7, 0x4c, 0x1e, 0xed,
  1018  	0x9a, 0xcd, 0x54, 0x26, 0x59, 0x4c, 0x95, 0x7f, 0x53, 0x20, 0x2f, 0x7b, 0xbf, 0x69, 0x79, 0x96,
  1019  	0xc3, 0xd0, 0x53, 0xc8, 0x3a, 0xc4, 0x1d, 0x8e, 0x92, 0x72, 0xd2, 0x28, 0x2d, 0xf9, 0xa3, 0xf4,
  1020  	0xe1, 0xed, 0xf2, 0xf9, 0x18, 0xeb, 0x06, 0x75, 0x08, 0xc7, 0x4e, 0x8f, 0x0f, 0x0c, 0x70, 0x88,
  1021  	0x1b, 0x0e, 0x97, 0x03, 0xc8, 0xb1, 0x0e, 0x43, 0x90, 0xd9, 0xc3, 0x1e, 0xa1, 0xb6, 0x48, 0x84,
  1022  	0xbf, 0xc2, 0xe8, 0x44, 0xd4, 0xe5, 0x2d, 0xb4, 0x7e, 0xe5, 0xc3, 0xdb, 0xe5, 0x4b, 0xc7, 0x89,
  1023  	0xd1, 0x22, 0xdf, 0xfa, 0x03, 0x53, 0x74, 0xac, 0xc3, 0x70, 0x27, 0xc2, 0x7f, 0x37, 0xa1, 0x2a,
  1024  	0xe5, 0x27, 0x90, 0xdb, 0x16, 0x83, 0x24, 0x77, 0x57, 0x07, 0x39, 0x58, 0xe1, 0xea, 0xca, 0x49,
  1025  	0xab, 0xa7, 0x84, 0x7a, 0x2e, 0x60, 0xc5, 0x94, 0xbf, 0x0b, 0x9b, 0x59, 0x2a, 0x5f, 0x85, 0xf4,
  1026  	0x97, 0x7d, 0xea, 0xf5, 0x9d, 0x31, 0x9d, 0x2c, 0xae, 0xab, 0xc0, 0x8b, 0x6e, 0xc0, 0x34, 0xdf,
  1027  	0xf7, 0x30, 0xdb, 0xa7, 0x5d, 0xfb, 0x6f, 0x6e, 0xb6, 0x08, 0x80, 0xee, 0x40, 0x41, 0x74, 0x63,
  1028  	0x44, 0x49, 0x8e, 0xa5, 0xe4, 0x7d, 0x54, 0x3b, 0x04, 0x89, 0x00, 0xbf, 0xc9, 0x40, 0x5a, 0xc6,
  1029  	0xa6, 0x9d, 0xb1, 0xa6, 0xb1, 0xe3, 0x31, 0x5e, 0xbf, 0x47, 0x1f, 0x57, 0xbf, 0xd4, 0xf8, 0xfa,
  1030  	0x1c, 0xaf, 0x45, 0xf2, 0x23, 0x6a, 0x11, 0xcb, 0x7b, 0xea, 0xf4, 0x79, 0x9f, 0x3c, 0x7b, 0xde,
  1031  	0xd3, 0xa7, 0xc8, 0x3b, 0xd2, 0x61, 0xc1, 0x4f, 0x34, 0x71, 0x09, 0x27, 0xd1, 0x7d, 0x64, 0x8a,
  1032  	0xf0, 0xd5, 0xa9, 0xb1, 0x0a, 0x17, 0x1c, 0xe2, 0xea, 0x01, 0x5e, 0xa6, 0xc7, 0xf0, 0xd1, 0x68,
  1033  	0x1d, 0xce, 0x0f, 0x4f, 0x92, 0x3d, 0xcb, 0xdd, 0xc3, 0x5d, 0x29, 0x93, 0x19, 0x2b, 0x33, 0x1b,
  1034  	0x82, 0x37, 0x04, 0x36, 0xd0, 0xd8, 0x84, 0xb9, 0x51, 0x0d, 0x1b, 0x33, 0x2e, 0x2e, 0xa1, 0x7f,
  1035  	0x3a, 0x7b, 0xd0, 0x51, 0xb1, 0x3a, 0x66, 0x1c, 0xed, 0xc0, 0xfc, 0xf0, 0xb8, 0x37, 0x8f, 0xd6,
  1036  	0x0d, 0x4e, 0x57, 0xb7, 0xf3, 0x43, 0xfe, 0x76, 0xbc, 0x80, 0x9f, 0xc0, 0x6c, 0x24, 0x1c, 0xe5,
  1037  	0x3b, 0x3b, 0x76, 0x9b, 0x68, 0x08, 0x8d, 0x92, 0xfe, 0x04, 0x22, 0x65, 0x33, 0xde, 0xe7, 0xb9,
  1038  	0x33, 0xf4, 0x79, 0x14, 0xc3, 0xa3, 0xa8, 0xe1, 0x57, 0xa1, 0xb8, 0xdb, 0xf7, 0x5c, 0x7f, 0xbb,
  1039  	0xd8, 0x94, 0x5d, 0x96, 0x17, 0x57, 0x5f, 0xc1, 0xb7, 0xfb, 0x47, 0xee, 0x67, 0x41, 0x77, 0xd5,
  1040  	0x60, 0x49, 0x20, 0x87, 0xe9, 0x1e, 0x0e, 0x89, 0x87, 0x7d, 0xb6, 0xbc, 0x31, 0x17, 0x7d, 0x50,
  1041  	0xf8, 0x7a, 0x16, 0x4e, 0x43, 0x80, 0x40, 0x57, 0xa0, 0x10, 0x2d, 0xe6, 0xb7, 0x95, 0xb8, 0x43,
  1042  	0x33, 0x46, 0x2e, 0x5c, 0xca, 0xbf, 0x6e, 0xd0, 0x5d, 0x38, 0x17, 0xdb, 0xa2, 0x6c, 0x89, 0xe2,
  1043  	0xd8, 0x5c, 0xcd, 0x44, 0xa3, 0x2b, 0xda, 0xe1, 0xda, 0xd7, 0x0a, 0x40, 0xec, 0x9d, 0xfc, 0x22,
  1044  	0xcc, 0x6f, 0x37, 0xda, 0x9a, 0xd9, 0x68, 0xb6, 0xf5, 0xc6, 0x96, 0xf9, 0x78, 0xab, 0xd5, 0xd4,
  1045  	0x36, 0xf4, 0xfb, 0xba, 0x56, 0x2f, 0x4e, 0xa0, 0x59, 0x98, 0x89, 0x3b, 0x9f, 0x6a, 0xad, 0xa2,
  1046  	0x82, 0xe6, 0x61, 0x36, 0x6e, 0xac, 0xad, 0xb7, 0xda, 0x35, 0x7d, 0xab, 0x98, 0x40, 0x08, 0x0a,
  1047  	0x71, 0xc7, 0x56, 0xa3, 0x98, 0x44, 0x97, 0x40, 0x3d, 0x6a, 0x33, 0x77, 0xf4, 0xf6, 0x03, 0x73,
  1048  	0x5b, 0x6b, 0x37, 0x8a, 0xa9, 0x6b, 0x3f, 0x2b, 0x50, 0x38, 0xfa, 0x9e, 0x8a, 0x96, 0xe1, 0x62,
  1049  	0xd3, 0x68, 0x34, 0x1b, 0xad, 0xda, 0x43, 0xb3, 0xd5, 0xae, 0xb5, 0x1f, 0xb7, 0x46, 0x62, 0x2a,
  1050  	0x43, 0x69, 0x14, 0x50, 0xd7, 0x9a, 0x8d, 0x96, 0xde, 0x36, 0x9b, 0x9a, 0xa1, 0x37, 0xea, 0x45,
  1051  	0x05, 0x5d, 0x86, 0xa5, 0x51, 0xcc, 0x76, 0xa3, 0xad, 0x6f, 0x7d, 0x1a, 0x42, 0x12, 0x68, 0x11,
  1052  	0x2e, 0x8c, 0x42, 0x9a, 0xb5, 0x56, 0x4b, 0xab, 0x07, 0x41, 0x8f, 0xfa, 0x0c, 0x6d, 0x53, 0xdb,
  1053  	0x68, 0x6b, 0xf5, 0x62, 0x6a, 0x1c, 0xf3, 0x7e, 0x4d, 0x7f, 0xa8, 0xd5, 0x8b, 0x93, 0xeb, 0xda,
  1054  	0xab, 0x77, 0x25, 0xe5, 0xf5, 0xbb, 0x92, 0xf2, 0xc7, 0xbb, 0x92, 0xf2, 0xe2, 0x7d, 0x69, 0xe2,
  1055  	0xf5, 0xfb, 0xd2, 0xc4, 0xaf, 0xef, 0x4b, 0x13, 0x9f, 0x5f, 0xef, 0x10, 0xbe, 0xdf, 0xdf, 0xad,
  1056  	0xec, 0x51, 0x47, 0x7e, 0x3d, 0xc9, 0x7f, 0x37, 0x99, 0xfd, 0x45, 0xf5, 0x50, 0x7c, 0x11, 0xf2,
  1057  	0x41, 0x0f, 0x33, 0xff, 0x73, 0x2f, 0x2d, 0xa6, 0xe7, 0xf6, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff,
  1058  	0x08, 0xe1, 0xbb, 0x1f, 0x2f, 0x0e, 0x00, 0x00,
  1059  }
  1060  
  1061  func (m *WeightedVoteOption) Marshal() (dAtA []byte, err error) {
  1062  	size := m.Size()
  1063  	dAtA = make([]byte, size)
  1064  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1065  	if err != nil {
  1066  		return nil, err
  1067  	}
  1068  	return dAtA[:n], nil
  1069  }
  1070  
  1071  func (m *WeightedVoteOption) MarshalTo(dAtA []byte) (int, error) {
  1072  	size := m.Size()
  1073  	return m.MarshalToSizedBuffer(dAtA[:size])
  1074  }
  1075  
  1076  func (m *WeightedVoteOption) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1077  	i := len(dAtA)
  1078  	_ = i
  1079  	var l int
  1080  	_ = l
  1081  	if len(m.Weight) > 0 {
  1082  		i -= len(m.Weight)
  1083  		copy(dAtA[i:], m.Weight)
  1084  		i = encodeVarintGov(dAtA, i, uint64(len(m.Weight)))
  1085  		i--
  1086  		dAtA[i] = 0x12
  1087  	}
  1088  	if m.Option != 0 {
  1089  		i = encodeVarintGov(dAtA, i, uint64(m.Option))
  1090  		i--
  1091  		dAtA[i] = 0x8
  1092  	}
  1093  	return len(dAtA) - i, nil
  1094  }
  1095  
  1096  func (m *Deposit) Marshal() (dAtA []byte, err error) {
  1097  	size := m.Size()
  1098  	dAtA = make([]byte, size)
  1099  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1100  	if err != nil {
  1101  		return nil, err
  1102  	}
  1103  	return dAtA[:n], nil
  1104  }
  1105  
  1106  func (m *Deposit) MarshalTo(dAtA []byte) (int, error) {
  1107  	size := m.Size()
  1108  	return m.MarshalToSizedBuffer(dAtA[:size])
  1109  }
  1110  
  1111  func (m *Deposit) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1112  	i := len(dAtA)
  1113  	_ = i
  1114  	var l int
  1115  	_ = l
  1116  	if len(m.Amount) > 0 {
  1117  		for iNdEx := len(m.Amount) - 1; iNdEx >= 0; iNdEx-- {
  1118  			{
  1119  				size, err := m.Amount[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1120  				if err != nil {
  1121  					return 0, err
  1122  				}
  1123  				i -= size
  1124  				i = encodeVarintGov(dAtA, i, uint64(size))
  1125  			}
  1126  			i--
  1127  			dAtA[i] = 0x1a
  1128  		}
  1129  	}
  1130  	if len(m.Depositor) > 0 {
  1131  		i -= len(m.Depositor)
  1132  		copy(dAtA[i:], m.Depositor)
  1133  		i = encodeVarintGov(dAtA, i, uint64(len(m.Depositor)))
  1134  		i--
  1135  		dAtA[i] = 0x12
  1136  	}
  1137  	if m.ProposalId != 0 {
  1138  		i = encodeVarintGov(dAtA, i, uint64(m.ProposalId))
  1139  		i--
  1140  		dAtA[i] = 0x8
  1141  	}
  1142  	return len(dAtA) - i, nil
  1143  }
  1144  
  1145  func (m *Proposal) Marshal() (dAtA []byte, err error) {
  1146  	size := m.Size()
  1147  	dAtA = make([]byte, size)
  1148  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1149  	if err != nil {
  1150  		return nil, err
  1151  	}
  1152  	return dAtA[:n], nil
  1153  }
  1154  
  1155  func (m *Proposal) MarshalTo(dAtA []byte) (int, error) {
  1156  	size := m.Size()
  1157  	return m.MarshalToSizedBuffer(dAtA[:size])
  1158  }
  1159  
  1160  func (m *Proposal) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1161  	i := len(dAtA)
  1162  	_ = i
  1163  	var l int
  1164  	_ = l
  1165  	if len(m.FailedReason) > 0 {
  1166  		i -= len(m.FailedReason)
  1167  		copy(dAtA[i:], m.FailedReason)
  1168  		i = encodeVarintGov(dAtA, i, uint64(len(m.FailedReason)))
  1169  		i--
  1170  		dAtA[i] = 0x7a
  1171  	}
  1172  	if m.Expedited {
  1173  		i--
  1174  		if m.Expedited {
  1175  			dAtA[i] = 1
  1176  		} else {
  1177  			dAtA[i] = 0
  1178  		}
  1179  		i--
  1180  		dAtA[i] = 0x70
  1181  	}
  1182  	if len(m.Proposer) > 0 {
  1183  		i -= len(m.Proposer)
  1184  		copy(dAtA[i:], m.Proposer)
  1185  		i = encodeVarintGov(dAtA, i, uint64(len(m.Proposer)))
  1186  		i--
  1187  		dAtA[i] = 0x6a
  1188  	}
  1189  	if len(m.Summary) > 0 {
  1190  		i -= len(m.Summary)
  1191  		copy(dAtA[i:], m.Summary)
  1192  		i = encodeVarintGov(dAtA, i, uint64(len(m.Summary)))
  1193  		i--
  1194  		dAtA[i] = 0x62
  1195  	}
  1196  	if len(m.Title) > 0 {
  1197  		i -= len(m.Title)
  1198  		copy(dAtA[i:], m.Title)
  1199  		i = encodeVarintGov(dAtA, i, uint64(len(m.Title)))
  1200  		i--
  1201  		dAtA[i] = 0x5a
  1202  	}
  1203  	if len(m.Metadata) > 0 {
  1204  		i -= len(m.Metadata)
  1205  		copy(dAtA[i:], m.Metadata)
  1206  		i = encodeVarintGov(dAtA, i, uint64(len(m.Metadata)))
  1207  		i--
  1208  		dAtA[i] = 0x52
  1209  	}
  1210  	if m.VotingEndTime != nil {
  1211  		n1, err1 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(*m.VotingEndTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(*m.VotingEndTime):])
  1212  		if err1 != nil {
  1213  			return 0, err1
  1214  		}
  1215  		i -= n1
  1216  		i = encodeVarintGov(dAtA, i, uint64(n1))
  1217  		i--
  1218  		dAtA[i] = 0x4a
  1219  	}
  1220  	if m.VotingStartTime != nil {
  1221  		n2, err2 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(*m.VotingStartTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(*m.VotingStartTime):])
  1222  		if err2 != nil {
  1223  			return 0, err2
  1224  		}
  1225  		i -= n2
  1226  		i = encodeVarintGov(dAtA, i, uint64(n2))
  1227  		i--
  1228  		dAtA[i] = 0x42
  1229  	}
  1230  	if len(m.TotalDeposit) > 0 {
  1231  		for iNdEx := len(m.TotalDeposit) - 1; iNdEx >= 0; iNdEx-- {
  1232  			{
  1233  				size, err := m.TotalDeposit[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1234  				if err != nil {
  1235  					return 0, err
  1236  				}
  1237  				i -= size
  1238  				i = encodeVarintGov(dAtA, i, uint64(size))
  1239  			}
  1240  			i--
  1241  			dAtA[i] = 0x3a
  1242  		}
  1243  	}
  1244  	if m.DepositEndTime != nil {
  1245  		n3, err3 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(*m.DepositEndTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(*m.DepositEndTime):])
  1246  		if err3 != nil {
  1247  			return 0, err3
  1248  		}
  1249  		i -= n3
  1250  		i = encodeVarintGov(dAtA, i, uint64(n3))
  1251  		i--
  1252  		dAtA[i] = 0x32
  1253  	}
  1254  	if m.SubmitTime != nil {
  1255  		n4, err4 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(*m.SubmitTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(*m.SubmitTime):])
  1256  		if err4 != nil {
  1257  			return 0, err4
  1258  		}
  1259  		i -= n4
  1260  		i = encodeVarintGov(dAtA, i, uint64(n4))
  1261  		i--
  1262  		dAtA[i] = 0x2a
  1263  	}
  1264  	if m.FinalTallyResult != nil {
  1265  		{
  1266  			size, err := m.FinalTallyResult.MarshalToSizedBuffer(dAtA[:i])
  1267  			if err != nil {
  1268  				return 0, err
  1269  			}
  1270  			i -= size
  1271  			i = encodeVarintGov(dAtA, i, uint64(size))
  1272  		}
  1273  		i--
  1274  		dAtA[i] = 0x22
  1275  	}
  1276  	if m.Status != 0 {
  1277  		i = encodeVarintGov(dAtA, i, uint64(m.Status))
  1278  		i--
  1279  		dAtA[i] = 0x18
  1280  	}
  1281  	if len(m.Messages) > 0 {
  1282  		for iNdEx := len(m.Messages) - 1; iNdEx >= 0; iNdEx-- {
  1283  			{
  1284  				size, err := m.Messages[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1285  				if err != nil {
  1286  					return 0, err
  1287  				}
  1288  				i -= size
  1289  				i = encodeVarintGov(dAtA, i, uint64(size))
  1290  			}
  1291  			i--
  1292  			dAtA[i] = 0x12
  1293  		}
  1294  	}
  1295  	if m.Id != 0 {
  1296  		i = encodeVarintGov(dAtA, i, uint64(m.Id))
  1297  		i--
  1298  		dAtA[i] = 0x8
  1299  	}
  1300  	return len(dAtA) - i, nil
  1301  }
  1302  
  1303  func (m *TallyResult) Marshal() (dAtA []byte, err error) {
  1304  	size := m.Size()
  1305  	dAtA = make([]byte, size)
  1306  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1307  	if err != nil {
  1308  		return nil, err
  1309  	}
  1310  	return dAtA[:n], nil
  1311  }
  1312  
  1313  func (m *TallyResult) MarshalTo(dAtA []byte) (int, error) {
  1314  	size := m.Size()
  1315  	return m.MarshalToSizedBuffer(dAtA[:size])
  1316  }
  1317  
  1318  func (m *TallyResult) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1319  	i := len(dAtA)
  1320  	_ = i
  1321  	var l int
  1322  	_ = l
  1323  	if len(m.NoWithVetoCount) > 0 {
  1324  		i -= len(m.NoWithVetoCount)
  1325  		copy(dAtA[i:], m.NoWithVetoCount)
  1326  		i = encodeVarintGov(dAtA, i, uint64(len(m.NoWithVetoCount)))
  1327  		i--
  1328  		dAtA[i] = 0x22
  1329  	}
  1330  	if len(m.NoCount) > 0 {
  1331  		i -= len(m.NoCount)
  1332  		copy(dAtA[i:], m.NoCount)
  1333  		i = encodeVarintGov(dAtA, i, uint64(len(m.NoCount)))
  1334  		i--
  1335  		dAtA[i] = 0x1a
  1336  	}
  1337  	if len(m.AbstainCount) > 0 {
  1338  		i -= len(m.AbstainCount)
  1339  		copy(dAtA[i:], m.AbstainCount)
  1340  		i = encodeVarintGov(dAtA, i, uint64(len(m.AbstainCount)))
  1341  		i--
  1342  		dAtA[i] = 0x12
  1343  	}
  1344  	if len(m.YesCount) > 0 {
  1345  		i -= len(m.YesCount)
  1346  		copy(dAtA[i:], m.YesCount)
  1347  		i = encodeVarintGov(dAtA, i, uint64(len(m.YesCount)))
  1348  		i--
  1349  		dAtA[i] = 0xa
  1350  	}
  1351  	return len(dAtA) - i, nil
  1352  }
  1353  
  1354  func (m *Vote) Marshal() (dAtA []byte, err error) {
  1355  	size := m.Size()
  1356  	dAtA = make([]byte, size)
  1357  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1358  	if err != nil {
  1359  		return nil, err
  1360  	}
  1361  	return dAtA[:n], nil
  1362  }
  1363  
  1364  func (m *Vote) MarshalTo(dAtA []byte) (int, error) {
  1365  	size := m.Size()
  1366  	return m.MarshalToSizedBuffer(dAtA[:size])
  1367  }
  1368  
  1369  func (m *Vote) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1370  	i := len(dAtA)
  1371  	_ = i
  1372  	var l int
  1373  	_ = l
  1374  	if len(m.Metadata) > 0 {
  1375  		i -= len(m.Metadata)
  1376  		copy(dAtA[i:], m.Metadata)
  1377  		i = encodeVarintGov(dAtA, i, uint64(len(m.Metadata)))
  1378  		i--
  1379  		dAtA[i] = 0x2a
  1380  	}
  1381  	if len(m.Options) > 0 {
  1382  		for iNdEx := len(m.Options) - 1; iNdEx >= 0; iNdEx-- {
  1383  			{
  1384  				size, err := m.Options[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1385  				if err != nil {
  1386  					return 0, err
  1387  				}
  1388  				i -= size
  1389  				i = encodeVarintGov(dAtA, i, uint64(size))
  1390  			}
  1391  			i--
  1392  			dAtA[i] = 0x22
  1393  		}
  1394  	}
  1395  	if len(m.Voter) > 0 {
  1396  		i -= len(m.Voter)
  1397  		copy(dAtA[i:], m.Voter)
  1398  		i = encodeVarintGov(dAtA, i, uint64(len(m.Voter)))
  1399  		i--
  1400  		dAtA[i] = 0x12
  1401  	}
  1402  	if m.ProposalId != 0 {
  1403  		i = encodeVarintGov(dAtA, i, uint64(m.ProposalId))
  1404  		i--
  1405  		dAtA[i] = 0x8
  1406  	}
  1407  	return len(dAtA) - i, nil
  1408  }
  1409  
  1410  func (m *DepositParams) Marshal() (dAtA []byte, err error) {
  1411  	size := m.Size()
  1412  	dAtA = make([]byte, size)
  1413  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1414  	if err != nil {
  1415  		return nil, err
  1416  	}
  1417  	return dAtA[:n], nil
  1418  }
  1419  
  1420  func (m *DepositParams) MarshalTo(dAtA []byte) (int, error) {
  1421  	size := m.Size()
  1422  	return m.MarshalToSizedBuffer(dAtA[:size])
  1423  }
  1424  
  1425  func (m *DepositParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1426  	i := len(dAtA)
  1427  	_ = i
  1428  	var l int
  1429  	_ = l
  1430  	if m.MaxDepositPeriod != nil {
  1431  		n6, err6 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(*m.MaxDepositPeriod, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(*m.MaxDepositPeriod):])
  1432  		if err6 != nil {
  1433  			return 0, err6
  1434  		}
  1435  		i -= n6
  1436  		i = encodeVarintGov(dAtA, i, uint64(n6))
  1437  		i--
  1438  		dAtA[i] = 0x12
  1439  	}
  1440  	if len(m.MinDeposit) > 0 {
  1441  		for iNdEx := len(m.MinDeposit) - 1; iNdEx >= 0; iNdEx-- {
  1442  			{
  1443  				size, err := m.MinDeposit[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1444  				if err != nil {
  1445  					return 0, err
  1446  				}
  1447  				i -= size
  1448  				i = encodeVarintGov(dAtA, i, uint64(size))
  1449  			}
  1450  			i--
  1451  			dAtA[i] = 0xa
  1452  		}
  1453  	}
  1454  	return len(dAtA) - i, nil
  1455  }
  1456  
  1457  func (m *VotingParams) Marshal() (dAtA []byte, err error) {
  1458  	size := m.Size()
  1459  	dAtA = make([]byte, size)
  1460  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1461  	if err != nil {
  1462  		return nil, err
  1463  	}
  1464  	return dAtA[:n], nil
  1465  }
  1466  
  1467  func (m *VotingParams) MarshalTo(dAtA []byte) (int, error) {
  1468  	size := m.Size()
  1469  	return m.MarshalToSizedBuffer(dAtA[:size])
  1470  }
  1471  
  1472  func (m *VotingParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1473  	i := len(dAtA)
  1474  	_ = i
  1475  	var l int
  1476  	_ = l
  1477  	if m.VotingPeriod != nil {
  1478  		n7, err7 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(*m.VotingPeriod, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(*m.VotingPeriod):])
  1479  		if err7 != nil {
  1480  			return 0, err7
  1481  		}
  1482  		i -= n7
  1483  		i = encodeVarintGov(dAtA, i, uint64(n7))
  1484  		i--
  1485  		dAtA[i] = 0xa
  1486  	}
  1487  	return len(dAtA) - i, nil
  1488  }
  1489  
  1490  func (m *TallyParams) Marshal() (dAtA []byte, err error) {
  1491  	size := m.Size()
  1492  	dAtA = make([]byte, size)
  1493  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1494  	if err != nil {
  1495  		return nil, err
  1496  	}
  1497  	return dAtA[:n], nil
  1498  }
  1499  
  1500  func (m *TallyParams) MarshalTo(dAtA []byte) (int, error) {
  1501  	size := m.Size()
  1502  	return m.MarshalToSizedBuffer(dAtA[:size])
  1503  }
  1504  
  1505  func (m *TallyParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1506  	i := len(dAtA)
  1507  	_ = i
  1508  	var l int
  1509  	_ = l
  1510  	if len(m.VetoThreshold) > 0 {
  1511  		i -= len(m.VetoThreshold)
  1512  		copy(dAtA[i:], m.VetoThreshold)
  1513  		i = encodeVarintGov(dAtA, i, uint64(len(m.VetoThreshold)))
  1514  		i--
  1515  		dAtA[i] = 0x1a
  1516  	}
  1517  	if len(m.Threshold) > 0 {
  1518  		i -= len(m.Threshold)
  1519  		copy(dAtA[i:], m.Threshold)
  1520  		i = encodeVarintGov(dAtA, i, uint64(len(m.Threshold)))
  1521  		i--
  1522  		dAtA[i] = 0x12
  1523  	}
  1524  	if len(m.Quorum) > 0 {
  1525  		i -= len(m.Quorum)
  1526  		copy(dAtA[i:], m.Quorum)
  1527  		i = encodeVarintGov(dAtA, i, uint64(len(m.Quorum)))
  1528  		i--
  1529  		dAtA[i] = 0xa
  1530  	}
  1531  	return len(dAtA) - i, nil
  1532  }
  1533  
  1534  func (m *Params) Marshal() (dAtA []byte, err error) {
  1535  	size := m.Size()
  1536  	dAtA = make([]byte, size)
  1537  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1538  	if err != nil {
  1539  		return nil, err
  1540  	}
  1541  	return dAtA[:n], nil
  1542  }
  1543  
  1544  func (m *Params) MarshalTo(dAtA []byte) (int, error) {
  1545  	size := m.Size()
  1546  	return m.MarshalToSizedBuffer(dAtA[:size])
  1547  }
  1548  
  1549  func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1550  	i := len(dAtA)
  1551  	_ = i
  1552  	var l int
  1553  	_ = l
  1554  	if len(m.MinDepositRatio) > 0 {
  1555  		i -= len(m.MinDepositRatio)
  1556  		copy(dAtA[i:], m.MinDepositRatio)
  1557  		i = encodeVarintGov(dAtA, i, uint64(len(m.MinDepositRatio)))
  1558  		i--
  1559  		dAtA[i] = 0x1
  1560  		i--
  1561  		dAtA[i] = 0x82
  1562  	}
  1563  	if m.BurnVoteVeto {
  1564  		i--
  1565  		if m.BurnVoteVeto {
  1566  			dAtA[i] = 1
  1567  		} else {
  1568  			dAtA[i] = 0
  1569  		}
  1570  		i--
  1571  		dAtA[i] = 0x78
  1572  	}
  1573  	if m.BurnProposalDepositPrevote {
  1574  		i--
  1575  		if m.BurnProposalDepositPrevote {
  1576  			dAtA[i] = 1
  1577  		} else {
  1578  			dAtA[i] = 0
  1579  		}
  1580  		i--
  1581  		dAtA[i] = 0x70
  1582  	}
  1583  	if m.BurnVoteQuorum {
  1584  		i--
  1585  		if m.BurnVoteQuorum {
  1586  			dAtA[i] = 1
  1587  		} else {
  1588  			dAtA[i] = 0
  1589  		}
  1590  		i--
  1591  		dAtA[i] = 0x68
  1592  	}
  1593  	if len(m.ExpeditedMinDeposit) > 0 {
  1594  		for iNdEx := len(m.ExpeditedMinDeposit) - 1; iNdEx >= 0; iNdEx-- {
  1595  			{
  1596  				size, err := m.ExpeditedMinDeposit[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1597  				if err != nil {
  1598  					return 0, err
  1599  				}
  1600  				i -= size
  1601  				i = encodeVarintGov(dAtA, i, uint64(size))
  1602  			}
  1603  			i--
  1604  			dAtA[i] = 0x62
  1605  		}
  1606  	}
  1607  	if len(m.ExpeditedThreshold) > 0 {
  1608  		i -= len(m.ExpeditedThreshold)
  1609  		copy(dAtA[i:], m.ExpeditedThreshold)
  1610  		i = encodeVarintGov(dAtA, i, uint64(len(m.ExpeditedThreshold)))
  1611  		i--
  1612  		dAtA[i] = 0x5a
  1613  	}
  1614  	if m.ExpeditedVotingPeriod != nil {
  1615  		n8, err8 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(*m.ExpeditedVotingPeriod, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(*m.ExpeditedVotingPeriod):])
  1616  		if err8 != nil {
  1617  			return 0, err8
  1618  		}
  1619  		i -= n8
  1620  		i = encodeVarintGov(dAtA, i, uint64(n8))
  1621  		i--
  1622  		dAtA[i] = 0x52
  1623  	}
  1624  	if len(m.ProposalCancelDest) > 0 {
  1625  		i -= len(m.ProposalCancelDest)
  1626  		copy(dAtA[i:], m.ProposalCancelDest)
  1627  		i = encodeVarintGov(dAtA, i, uint64(len(m.ProposalCancelDest)))
  1628  		i--
  1629  		dAtA[i] = 0x4a
  1630  	}
  1631  	if len(m.ProposalCancelRatio) > 0 {
  1632  		i -= len(m.ProposalCancelRatio)
  1633  		copy(dAtA[i:], m.ProposalCancelRatio)
  1634  		i = encodeVarintGov(dAtA, i, uint64(len(m.ProposalCancelRatio)))
  1635  		i--
  1636  		dAtA[i] = 0x42
  1637  	}
  1638  	if len(m.MinInitialDepositRatio) > 0 {
  1639  		i -= len(m.MinInitialDepositRatio)
  1640  		copy(dAtA[i:], m.MinInitialDepositRatio)
  1641  		i = encodeVarintGov(dAtA, i, uint64(len(m.MinInitialDepositRatio)))
  1642  		i--
  1643  		dAtA[i] = 0x3a
  1644  	}
  1645  	if len(m.VetoThreshold) > 0 {
  1646  		i -= len(m.VetoThreshold)
  1647  		copy(dAtA[i:], m.VetoThreshold)
  1648  		i = encodeVarintGov(dAtA, i, uint64(len(m.VetoThreshold)))
  1649  		i--
  1650  		dAtA[i] = 0x32
  1651  	}
  1652  	if len(m.Threshold) > 0 {
  1653  		i -= len(m.Threshold)
  1654  		copy(dAtA[i:], m.Threshold)
  1655  		i = encodeVarintGov(dAtA, i, uint64(len(m.Threshold)))
  1656  		i--
  1657  		dAtA[i] = 0x2a
  1658  	}
  1659  	if len(m.Quorum) > 0 {
  1660  		i -= len(m.Quorum)
  1661  		copy(dAtA[i:], m.Quorum)
  1662  		i = encodeVarintGov(dAtA, i, uint64(len(m.Quorum)))
  1663  		i--
  1664  		dAtA[i] = 0x22
  1665  	}
  1666  	if m.VotingPeriod != nil {
  1667  		n9, err9 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(*m.VotingPeriod, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(*m.VotingPeriod):])
  1668  		if err9 != nil {
  1669  			return 0, err9
  1670  		}
  1671  		i -= n9
  1672  		i = encodeVarintGov(dAtA, i, uint64(n9))
  1673  		i--
  1674  		dAtA[i] = 0x1a
  1675  	}
  1676  	if m.MaxDepositPeriod != nil {
  1677  		n10, err10 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(*m.MaxDepositPeriod, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(*m.MaxDepositPeriod):])
  1678  		if err10 != nil {
  1679  			return 0, err10
  1680  		}
  1681  		i -= n10
  1682  		i = encodeVarintGov(dAtA, i, uint64(n10))
  1683  		i--
  1684  		dAtA[i] = 0x12
  1685  	}
  1686  	if len(m.MinDeposit) > 0 {
  1687  		for iNdEx := len(m.MinDeposit) - 1; iNdEx >= 0; iNdEx-- {
  1688  			{
  1689  				size, err := m.MinDeposit[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1690  				if err != nil {
  1691  					return 0, err
  1692  				}
  1693  				i -= size
  1694  				i = encodeVarintGov(dAtA, i, uint64(size))
  1695  			}
  1696  			i--
  1697  			dAtA[i] = 0xa
  1698  		}
  1699  	}
  1700  	return len(dAtA) - i, nil
  1701  }
  1702  
  1703  func encodeVarintGov(dAtA []byte, offset int, v uint64) int {
  1704  	offset -= sovGov(v)
  1705  	base := offset
  1706  	for v >= 1<<7 {
  1707  		dAtA[offset] = uint8(v&0x7f | 0x80)
  1708  		v >>= 7
  1709  		offset++
  1710  	}
  1711  	dAtA[offset] = uint8(v)
  1712  	return base
  1713  }
  1714  func (m *WeightedVoteOption) Size() (n int) {
  1715  	if m == nil {
  1716  		return 0
  1717  	}
  1718  	var l int
  1719  	_ = l
  1720  	if m.Option != 0 {
  1721  		n += 1 + sovGov(uint64(m.Option))
  1722  	}
  1723  	l = len(m.Weight)
  1724  	if l > 0 {
  1725  		n += 1 + l + sovGov(uint64(l))
  1726  	}
  1727  	return n
  1728  }
  1729  
  1730  func (m *Deposit) Size() (n int) {
  1731  	if m == nil {
  1732  		return 0
  1733  	}
  1734  	var l int
  1735  	_ = l
  1736  	if m.ProposalId != 0 {
  1737  		n += 1 + sovGov(uint64(m.ProposalId))
  1738  	}
  1739  	l = len(m.Depositor)
  1740  	if l > 0 {
  1741  		n += 1 + l + sovGov(uint64(l))
  1742  	}
  1743  	if len(m.Amount) > 0 {
  1744  		for _, e := range m.Amount {
  1745  			l = e.Size()
  1746  			n += 1 + l + sovGov(uint64(l))
  1747  		}
  1748  	}
  1749  	return n
  1750  }
  1751  
  1752  func (m *Proposal) Size() (n int) {
  1753  	if m == nil {
  1754  		return 0
  1755  	}
  1756  	var l int
  1757  	_ = l
  1758  	if m.Id != 0 {
  1759  		n += 1 + sovGov(uint64(m.Id))
  1760  	}
  1761  	if len(m.Messages) > 0 {
  1762  		for _, e := range m.Messages {
  1763  			l = e.Size()
  1764  			n += 1 + l + sovGov(uint64(l))
  1765  		}
  1766  	}
  1767  	if m.Status != 0 {
  1768  		n += 1 + sovGov(uint64(m.Status))
  1769  	}
  1770  	if m.FinalTallyResult != nil {
  1771  		l = m.FinalTallyResult.Size()
  1772  		n += 1 + l + sovGov(uint64(l))
  1773  	}
  1774  	if m.SubmitTime != nil {
  1775  		l = github_com_cosmos_gogoproto_types.SizeOfStdTime(*m.SubmitTime)
  1776  		n += 1 + l + sovGov(uint64(l))
  1777  	}
  1778  	if m.DepositEndTime != nil {
  1779  		l = github_com_cosmos_gogoproto_types.SizeOfStdTime(*m.DepositEndTime)
  1780  		n += 1 + l + sovGov(uint64(l))
  1781  	}
  1782  	if len(m.TotalDeposit) > 0 {
  1783  		for _, e := range m.TotalDeposit {
  1784  			l = e.Size()
  1785  			n += 1 + l + sovGov(uint64(l))
  1786  		}
  1787  	}
  1788  	if m.VotingStartTime != nil {
  1789  		l = github_com_cosmos_gogoproto_types.SizeOfStdTime(*m.VotingStartTime)
  1790  		n += 1 + l + sovGov(uint64(l))
  1791  	}
  1792  	if m.VotingEndTime != nil {
  1793  		l = github_com_cosmos_gogoproto_types.SizeOfStdTime(*m.VotingEndTime)
  1794  		n += 1 + l + sovGov(uint64(l))
  1795  	}
  1796  	l = len(m.Metadata)
  1797  	if l > 0 {
  1798  		n += 1 + l + sovGov(uint64(l))
  1799  	}
  1800  	l = len(m.Title)
  1801  	if l > 0 {
  1802  		n += 1 + l + sovGov(uint64(l))
  1803  	}
  1804  	l = len(m.Summary)
  1805  	if l > 0 {
  1806  		n += 1 + l + sovGov(uint64(l))
  1807  	}
  1808  	l = len(m.Proposer)
  1809  	if l > 0 {
  1810  		n += 1 + l + sovGov(uint64(l))
  1811  	}
  1812  	if m.Expedited {
  1813  		n += 2
  1814  	}
  1815  	l = len(m.FailedReason)
  1816  	if l > 0 {
  1817  		n += 1 + l + sovGov(uint64(l))
  1818  	}
  1819  	return n
  1820  }
  1821  
  1822  func (m *TallyResult) Size() (n int) {
  1823  	if m == nil {
  1824  		return 0
  1825  	}
  1826  	var l int
  1827  	_ = l
  1828  	l = len(m.YesCount)
  1829  	if l > 0 {
  1830  		n += 1 + l + sovGov(uint64(l))
  1831  	}
  1832  	l = len(m.AbstainCount)
  1833  	if l > 0 {
  1834  		n += 1 + l + sovGov(uint64(l))
  1835  	}
  1836  	l = len(m.NoCount)
  1837  	if l > 0 {
  1838  		n += 1 + l + sovGov(uint64(l))
  1839  	}
  1840  	l = len(m.NoWithVetoCount)
  1841  	if l > 0 {
  1842  		n += 1 + l + sovGov(uint64(l))
  1843  	}
  1844  	return n
  1845  }
  1846  
  1847  func (m *Vote) Size() (n int) {
  1848  	if m == nil {
  1849  		return 0
  1850  	}
  1851  	var l int
  1852  	_ = l
  1853  	if m.ProposalId != 0 {
  1854  		n += 1 + sovGov(uint64(m.ProposalId))
  1855  	}
  1856  	l = len(m.Voter)
  1857  	if l > 0 {
  1858  		n += 1 + l + sovGov(uint64(l))
  1859  	}
  1860  	if len(m.Options) > 0 {
  1861  		for _, e := range m.Options {
  1862  			l = e.Size()
  1863  			n += 1 + l + sovGov(uint64(l))
  1864  		}
  1865  	}
  1866  	l = len(m.Metadata)
  1867  	if l > 0 {
  1868  		n += 1 + l + sovGov(uint64(l))
  1869  	}
  1870  	return n
  1871  }
  1872  
  1873  func (m *DepositParams) Size() (n int) {
  1874  	if m == nil {
  1875  		return 0
  1876  	}
  1877  	var l int
  1878  	_ = l
  1879  	if len(m.MinDeposit) > 0 {
  1880  		for _, e := range m.MinDeposit {
  1881  			l = e.Size()
  1882  			n += 1 + l + sovGov(uint64(l))
  1883  		}
  1884  	}
  1885  	if m.MaxDepositPeriod != nil {
  1886  		l = github_com_cosmos_gogoproto_types.SizeOfStdDuration(*m.MaxDepositPeriod)
  1887  		n += 1 + l + sovGov(uint64(l))
  1888  	}
  1889  	return n
  1890  }
  1891  
  1892  func (m *VotingParams) Size() (n int) {
  1893  	if m == nil {
  1894  		return 0
  1895  	}
  1896  	var l int
  1897  	_ = l
  1898  	if m.VotingPeriod != nil {
  1899  		l = github_com_cosmos_gogoproto_types.SizeOfStdDuration(*m.VotingPeriod)
  1900  		n += 1 + l + sovGov(uint64(l))
  1901  	}
  1902  	return n
  1903  }
  1904  
  1905  func (m *TallyParams) Size() (n int) {
  1906  	if m == nil {
  1907  		return 0
  1908  	}
  1909  	var l int
  1910  	_ = l
  1911  	l = len(m.Quorum)
  1912  	if l > 0 {
  1913  		n += 1 + l + sovGov(uint64(l))
  1914  	}
  1915  	l = len(m.Threshold)
  1916  	if l > 0 {
  1917  		n += 1 + l + sovGov(uint64(l))
  1918  	}
  1919  	l = len(m.VetoThreshold)
  1920  	if l > 0 {
  1921  		n += 1 + l + sovGov(uint64(l))
  1922  	}
  1923  	return n
  1924  }
  1925  
  1926  func (m *Params) Size() (n int) {
  1927  	if m == nil {
  1928  		return 0
  1929  	}
  1930  	var l int
  1931  	_ = l
  1932  	if len(m.MinDeposit) > 0 {
  1933  		for _, e := range m.MinDeposit {
  1934  			l = e.Size()
  1935  			n += 1 + l + sovGov(uint64(l))
  1936  		}
  1937  	}
  1938  	if m.MaxDepositPeriod != nil {
  1939  		l = github_com_cosmos_gogoproto_types.SizeOfStdDuration(*m.MaxDepositPeriod)
  1940  		n += 1 + l + sovGov(uint64(l))
  1941  	}
  1942  	if m.VotingPeriod != nil {
  1943  		l = github_com_cosmos_gogoproto_types.SizeOfStdDuration(*m.VotingPeriod)
  1944  		n += 1 + l + sovGov(uint64(l))
  1945  	}
  1946  	l = len(m.Quorum)
  1947  	if l > 0 {
  1948  		n += 1 + l + sovGov(uint64(l))
  1949  	}
  1950  	l = len(m.Threshold)
  1951  	if l > 0 {
  1952  		n += 1 + l + sovGov(uint64(l))
  1953  	}
  1954  	l = len(m.VetoThreshold)
  1955  	if l > 0 {
  1956  		n += 1 + l + sovGov(uint64(l))
  1957  	}
  1958  	l = len(m.MinInitialDepositRatio)
  1959  	if l > 0 {
  1960  		n += 1 + l + sovGov(uint64(l))
  1961  	}
  1962  	l = len(m.ProposalCancelRatio)
  1963  	if l > 0 {
  1964  		n += 1 + l + sovGov(uint64(l))
  1965  	}
  1966  	l = len(m.ProposalCancelDest)
  1967  	if l > 0 {
  1968  		n += 1 + l + sovGov(uint64(l))
  1969  	}
  1970  	if m.ExpeditedVotingPeriod != nil {
  1971  		l = github_com_cosmos_gogoproto_types.SizeOfStdDuration(*m.ExpeditedVotingPeriod)
  1972  		n += 1 + l + sovGov(uint64(l))
  1973  	}
  1974  	l = len(m.ExpeditedThreshold)
  1975  	if l > 0 {
  1976  		n += 1 + l + sovGov(uint64(l))
  1977  	}
  1978  	if len(m.ExpeditedMinDeposit) > 0 {
  1979  		for _, e := range m.ExpeditedMinDeposit {
  1980  			l = e.Size()
  1981  			n += 1 + l + sovGov(uint64(l))
  1982  		}
  1983  	}
  1984  	if m.BurnVoteQuorum {
  1985  		n += 2
  1986  	}
  1987  	if m.BurnProposalDepositPrevote {
  1988  		n += 2
  1989  	}
  1990  	if m.BurnVoteVeto {
  1991  		n += 2
  1992  	}
  1993  	l = len(m.MinDepositRatio)
  1994  	if l > 0 {
  1995  		n += 2 + l + sovGov(uint64(l))
  1996  	}
  1997  	return n
  1998  }
  1999  
  2000  func sovGov(x uint64) (n int) {
  2001  	return (math_bits.Len64(x|1) + 6) / 7
  2002  }
  2003  func sozGov(x uint64) (n int) {
  2004  	return sovGov(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  2005  }
  2006  func (m *WeightedVoteOption) Unmarshal(dAtA []byte) error {
  2007  	l := len(dAtA)
  2008  	iNdEx := 0
  2009  	for iNdEx < l {
  2010  		preIndex := iNdEx
  2011  		var wire uint64
  2012  		for shift := uint(0); ; shift += 7 {
  2013  			if shift >= 64 {
  2014  				return ErrIntOverflowGov
  2015  			}
  2016  			if iNdEx >= l {
  2017  				return io.ErrUnexpectedEOF
  2018  			}
  2019  			b := dAtA[iNdEx]
  2020  			iNdEx++
  2021  			wire |= uint64(b&0x7F) << shift
  2022  			if b < 0x80 {
  2023  				break
  2024  			}
  2025  		}
  2026  		fieldNum := int32(wire >> 3)
  2027  		wireType := int(wire & 0x7)
  2028  		if wireType == 4 {
  2029  			return fmt.Errorf("proto: WeightedVoteOption: wiretype end group for non-group")
  2030  		}
  2031  		if fieldNum <= 0 {
  2032  			return fmt.Errorf("proto: WeightedVoteOption: illegal tag %d (wire type %d)", fieldNum, wire)
  2033  		}
  2034  		switch fieldNum {
  2035  		case 1:
  2036  			if wireType != 0 {
  2037  				return fmt.Errorf("proto: wrong wireType = %d for field Option", wireType)
  2038  			}
  2039  			m.Option = 0
  2040  			for shift := uint(0); ; shift += 7 {
  2041  				if shift >= 64 {
  2042  					return ErrIntOverflowGov
  2043  				}
  2044  				if iNdEx >= l {
  2045  					return io.ErrUnexpectedEOF
  2046  				}
  2047  				b := dAtA[iNdEx]
  2048  				iNdEx++
  2049  				m.Option |= VoteOption(b&0x7F) << shift
  2050  				if b < 0x80 {
  2051  					break
  2052  				}
  2053  			}
  2054  		case 2:
  2055  			if wireType != 2 {
  2056  				return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType)
  2057  			}
  2058  			var stringLen uint64
  2059  			for shift := uint(0); ; shift += 7 {
  2060  				if shift >= 64 {
  2061  					return ErrIntOverflowGov
  2062  				}
  2063  				if iNdEx >= l {
  2064  					return io.ErrUnexpectedEOF
  2065  				}
  2066  				b := dAtA[iNdEx]
  2067  				iNdEx++
  2068  				stringLen |= uint64(b&0x7F) << shift
  2069  				if b < 0x80 {
  2070  					break
  2071  				}
  2072  			}
  2073  			intStringLen := int(stringLen)
  2074  			if intStringLen < 0 {
  2075  				return ErrInvalidLengthGov
  2076  			}
  2077  			postIndex := iNdEx + intStringLen
  2078  			if postIndex < 0 {
  2079  				return ErrInvalidLengthGov
  2080  			}
  2081  			if postIndex > l {
  2082  				return io.ErrUnexpectedEOF
  2083  			}
  2084  			m.Weight = string(dAtA[iNdEx:postIndex])
  2085  			iNdEx = postIndex
  2086  		default:
  2087  			iNdEx = preIndex
  2088  			skippy, err := skipGov(dAtA[iNdEx:])
  2089  			if err != nil {
  2090  				return err
  2091  			}
  2092  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2093  				return ErrInvalidLengthGov
  2094  			}
  2095  			if (iNdEx + skippy) > l {
  2096  				return io.ErrUnexpectedEOF
  2097  			}
  2098  			iNdEx += skippy
  2099  		}
  2100  	}
  2101  
  2102  	if iNdEx > l {
  2103  		return io.ErrUnexpectedEOF
  2104  	}
  2105  	return nil
  2106  }
  2107  func (m *Deposit) Unmarshal(dAtA []byte) error {
  2108  	l := len(dAtA)
  2109  	iNdEx := 0
  2110  	for iNdEx < l {
  2111  		preIndex := iNdEx
  2112  		var wire uint64
  2113  		for shift := uint(0); ; shift += 7 {
  2114  			if shift >= 64 {
  2115  				return ErrIntOverflowGov
  2116  			}
  2117  			if iNdEx >= l {
  2118  				return io.ErrUnexpectedEOF
  2119  			}
  2120  			b := dAtA[iNdEx]
  2121  			iNdEx++
  2122  			wire |= uint64(b&0x7F) << shift
  2123  			if b < 0x80 {
  2124  				break
  2125  			}
  2126  		}
  2127  		fieldNum := int32(wire >> 3)
  2128  		wireType := int(wire & 0x7)
  2129  		if wireType == 4 {
  2130  			return fmt.Errorf("proto: Deposit: wiretype end group for non-group")
  2131  		}
  2132  		if fieldNum <= 0 {
  2133  			return fmt.Errorf("proto: Deposit: illegal tag %d (wire type %d)", fieldNum, wire)
  2134  		}
  2135  		switch fieldNum {
  2136  		case 1:
  2137  			if wireType != 0 {
  2138  				return fmt.Errorf("proto: wrong wireType = %d for field ProposalId", wireType)
  2139  			}
  2140  			m.ProposalId = 0
  2141  			for shift := uint(0); ; shift += 7 {
  2142  				if shift >= 64 {
  2143  					return ErrIntOverflowGov
  2144  				}
  2145  				if iNdEx >= l {
  2146  					return io.ErrUnexpectedEOF
  2147  				}
  2148  				b := dAtA[iNdEx]
  2149  				iNdEx++
  2150  				m.ProposalId |= uint64(b&0x7F) << shift
  2151  				if b < 0x80 {
  2152  					break
  2153  				}
  2154  			}
  2155  		case 2:
  2156  			if wireType != 2 {
  2157  				return fmt.Errorf("proto: wrong wireType = %d for field Depositor", wireType)
  2158  			}
  2159  			var stringLen uint64
  2160  			for shift := uint(0); ; shift += 7 {
  2161  				if shift >= 64 {
  2162  					return ErrIntOverflowGov
  2163  				}
  2164  				if iNdEx >= l {
  2165  					return io.ErrUnexpectedEOF
  2166  				}
  2167  				b := dAtA[iNdEx]
  2168  				iNdEx++
  2169  				stringLen |= uint64(b&0x7F) << shift
  2170  				if b < 0x80 {
  2171  					break
  2172  				}
  2173  			}
  2174  			intStringLen := int(stringLen)
  2175  			if intStringLen < 0 {
  2176  				return ErrInvalidLengthGov
  2177  			}
  2178  			postIndex := iNdEx + intStringLen
  2179  			if postIndex < 0 {
  2180  				return ErrInvalidLengthGov
  2181  			}
  2182  			if postIndex > l {
  2183  				return io.ErrUnexpectedEOF
  2184  			}
  2185  			m.Depositor = string(dAtA[iNdEx:postIndex])
  2186  			iNdEx = postIndex
  2187  		case 3:
  2188  			if wireType != 2 {
  2189  				return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType)
  2190  			}
  2191  			var msglen int
  2192  			for shift := uint(0); ; shift += 7 {
  2193  				if shift >= 64 {
  2194  					return ErrIntOverflowGov
  2195  				}
  2196  				if iNdEx >= l {
  2197  					return io.ErrUnexpectedEOF
  2198  				}
  2199  				b := dAtA[iNdEx]
  2200  				iNdEx++
  2201  				msglen |= int(b&0x7F) << shift
  2202  				if b < 0x80 {
  2203  					break
  2204  				}
  2205  			}
  2206  			if msglen < 0 {
  2207  				return ErrInvalidLengthGov
  2208  			}
  2209  			postIndex := iNdEx + msglen
  2210  			if postIndex < 0 {
  2211  				return ErrInvalidLengthGov
  2212  			}
  2213  			if postIndex > l {
  2214  				return io.ErrUnexpectedEOF
  2215  			}
  2216  			m.Amount = append(m.Amount, types.Coin{})
  2217  			if err := m.Amount[len(m.Amount)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2218  				return err
  2219  			}
  2220  			iNdEx = postIndex
  2221  		default:
  2222  			iNdEx = preIndex
  2223  			skippy, err := skipGov(dAtA[iNdEx:])
  2224  			if err != nil {
  2225  				return err
  2226  			}
  2227  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2228  				return ErrInvalidLengthGov
  2229  			}
  2230  			if (iNdEx + skippy) > l {
  2231  				return io.ErrUnexpectedEOF
  2232  			}
  2233  			iNdEx += skippy
  2234  		}
  2235  	}
  2236  
  2237  	if iNdEx > l {
  2238  		return io.ErrUnexpectedEOF
  2239  	}
  2240  	return nil
  2241  }
  2242  func (m *Proposal) Unmarshal(dAtA []byte) error {
  2243  	l := len(dAtA)
  2244  	iNdEx := 0
  2245  	for iNdEx < l {
  2246  		preIndex := iNdEx
  2247  		var wire uint64
  2248  		for shift := uint(0); ; shift += 7 {
  2249  			if shift >= 64 {
  2250  				return ErrIntOverflowGov
  2251  			}
  2252  			if iNdEx >= l {
  2253  				return io.ErrUnexpectedEOF
  2254  			}
  2255  			b := dAtA[iNdEx]
  2256  			iNdEx++
  2257  			wire |= uint64(b&0x7F) << shift
  2258  			if b < 0x80 {
  2259  				break
  2260  			}
  2261  		}
  2262  		fieldNum := int32(wire >> 3)
  2263  		wireType := int(wire & 0x7)
  2264  		if wireType == 4 {
  2265  			return fmt.Errorf("proto: Proposal: wiretype end group for non-group")
  2266  		}
  2267  		if fieldNum <= 0 {
  2268  			return fmt.Errorf("proto: Proposal: illegal tag %d (wire type %d)", fieldNum, wire)
  2269  		}
  2270  		switch fieldNum {
  2271  		case 1:
  2272  			if wireType != 0 {
  2273  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  2274  			}
  2275  			m.Id = 0
  2276  			for shift := uint(0); ; shift += 7 {
  2277  				if shift >= 64 {
  2278  					return ErrIntOverflowGov
  2279  				}
  2280  				if iNdEx >= l {
  2281  					return io.ErrUnexpectedEOF
  2282  				}
  2283  				b := dAtA[iNdEx]
  2284  				iNdEx++
  2285  				m.Id |= uint64(b&0x7F) << shift
  2286  				if b < 0x80 {
  2287  					break
  2288  				}
  2289  			}
  2290  		case 2:
  2291  			if wireType != 2 {
  2292  				return fmt.Errorf("proto: wrong wireType = %d for field Messages", wireType)
  2293  			}
  2294  			var msglen int
  2295  			for shift := uint(0); ; shift += 7 {
  2296  				if shift >= 64 {
  2297  					return ErrIntOverflowGov
  2298  				}
  2299  				if iNdEx >= l {
  2300  					return io.ErrUnexpectedEOF
  2301  				}
  2302  				b := dAtA[iNdEx]
  2303  				iNdEx++
  2304  				msglen |= int(b&0x7F) << shift
  2305  				if b < 0x80 {
  2306  					break
  2307  				}
  2308  			}
  2309  			if msglen < 0 {
  2310  				return ErrInvalidLengthGov
  2311  			}
  2312  			postIndex := iNdEx + msglen
  2313  			if postIndex < 0 {
  2314  				return ErrInvalidLengthGov
  2315  			}
  2316  			if postIndex > l {
  2317  				return io.ErrUnexpectedEOF
  2318  			}
  2319  			m.Messages = append(m.Messages, &types1.Any{})
  2320  			if err := m.Messages[len(m.Messages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2321  				return err
  2322  			}
  2323  			iNdEx = postIndex
  2324  		case 3:
  2325  			if wireType != 0 {
  2326  				return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
  2327  			}
  2328  			m.Status = 0
  2329  			for shift := uint(0); ; shift += 7 {
  2330  				if shift >= 64 {
  2331  					return ErrIntOverflowGov
  2332  				}
  2333  				if iNdEx >= l {
  2334  					return io.ErrUnexpectedEOF
  2335  				}
  2336  				b := dAtA[iNdEx]
  2337  				iNdEx++
  2338  				m.Status |= ProposalStatus(b&0x7F) << shift
  2339  				if b < 0x80 {
  2340  					break
  2341  				}
  2342  			}
  2343  		case 4:
  2344  			if wireType != 2 {
  2345  				return fmt.Errorf("proto: wrong wireType = %d for field FinalTallyResult", wireType)
  2346  			}
  2347  			var msglen int
  2348  			for shift := uint(0); ; shift += 7 {
  2349  				if shift >= 64 {
  2350  					return ErrIntOverflowGov
  2351  				}
  2352  				if iNdEx >= l {
  2353  					return io.ErrUnexpectedEOF
  2354  				}
  2355  				b := dAtA[iNdEx]
  2356  				iNdEx++
  2357  				msglen |= int(b&0x7F) << shift
  2358  				if b < 0x80 {
  2359  					break
  2360  				}
  2361  			}
  2362  			if msglen < 0 {
  2363  				return ErrInvalidLengthGov
  2364  			}
  2365  			postIndex := iNdEx + msglen
  2366  			if postIndex < 0 {
  2367  				return ErrInvalidLengthGov
  2368  			}
  2369  			if postIndex > l {
  2370  				return io.ErrUnexpectedEOF
  2371  			}
  2372  			if m.FinalTallyResult == nil {
  2373  				m.FinalTallyResult = &TallyResult{}
  2374  			}
  2375  			if err := m.FinalTallyResult.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2376  				return err
  2377  			}
  2378  			iNdEx = postIndex
  2379  		case 5:
  2380  			if wireType != 2 {
  2381  				return fmt.Errorf("proto: wrong wireType = %d for field SubmitTime", wireType)
  2382  			}
  2383  			var msglen int
  2384  			for shift := uint(0); ; shift += 7 {
  2385  				if shift >= 64 {
  2386  					return ErrIntOverflowGov
  2387  				}
  2388  				if iNdEx >= l {
  2389  					return io.ErrUnexpectedEOF
  2390  				}
  2391  				b := dAtA[iNdEx]
  2392  				iNdEx++
  2393  				msglen |= int(b&0x7F) << shift
  2394  				if b < 0x80 {
  2395  					break
  2396  				}
  2397  			}
  2398  			if msglen < 0 {
  2399  				return ErrInvalidLengthGov
  2400  			}
  2401  			postIndex := iNdEx + msglen
  2402  			if postIndex < 0 {
  2403  				return ErrInvalidLengthGov
  2404  			}
  2405  			if postIndex > l {
  2406  				return io.ErrUnexpectedEOF
  2407  			}
  2408  			if m.SubmitTime == nil {
  2409  				m.SubmitTime = new(time.Time)
  2410  			}
  2411  			if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(m.SubmitTime, dAtA[iNdEx:postIndex]); err != nil {
  2412  				return err
  2413  			}
  2414  			iNdEx = postIndex
  2415  		case 6:
  2416  			if wireType != 2 {
  2417  				return fmt.Errorf("proto: wrong wireType = %d for field DepositEndTime", wireType)
  2418  			}
  2419  			var msglen int
  2420  			for shift := uint(0); ; shift += 7 {
  2421  				if shift >= 64 {
  2422  					return ErrIntOverflowGov
  2423  				}
  2424  				if iNdEx >= l {
  2425  					return io.ErrUnexpectedEOF
  2426  				}
  2427  				b := dAtA[iNdEx]
  2428  				iNdEx++
  2429  				msglen |= int(b&0x7F) << shift
  2430  				if b < 0x80 {
  2431  					break
  2432  				}
  2433  			}
  2434  			if msglen < 0 {
  2435  				return ErrInvalidLengthGov
  2436  			}
  2437  			postIndex := iNdEx + msglen
  2438  			if postIndex < 0 {
  2439  				return ErrInvalidLengthGov
  2440  			}
  2441  			if postIndex > l {
  2442  				return io.ErrUnexpectedEOF
  2443  			}
  2444  			if m.DepositEndTime == nil {
  2445  				m.DepositEndTime = new(time.Time)
  2446  			}
  2447  			if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(m.DepositEndTime, dAtA[iNdEx:postIndex]); err != nil {
  2448  				return err
  2449  			}
  2450  			iNdEx = postIndex
  2451  		case 7:
  2452  			if wireType != 2 {
  2453  				return fmt.Errorf("proto: wrong wireType = %d for field TotalDeposit", wireType)
  2454  			}
  2455  			var msglen int
  2456  			for shift := uint(0); ; shift += 7 {
  2457  				if shift >= 64 {
  2458  					return ErrIntOverflowGov
  2459  				}
  2460  				if iNdEx >= l {
  2461  					return io.ErrUnexpectedEOF
  2462  				}
  2463  				b := dAtA[iNdEx]
  2464  				iNdEx++
  2465  				msglen |= int(b&0x7F) << shift
  2466  				if b < 0x80 {
  2467  					break
  2468  				}
  2469  			}
  2470  			if msglen < 0 {
  2471  				return ErrInvalidLengthGov
  2472  			}
  2473  			postIndex := iNdEx + msglen
  2474  			if postIndex < 0 {
  2475  				return ErrInvalidLengthGov
  2476  			}
  2477  			if postIndex > l {
  2478  				return io.ErrUnexpectedEOF
  2479  			}
  2480  			m.TotalDeposit = append(m.TotalDeposit, types.Coin{})
  2481  			if err := m.TotalDeposit[len(m.TotalDeposit)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2482  				return err
  2483  			}
  2484  			iNdEx = postIndex
  2485  		case 8:
  2486  			if wireType != 2 {
  2487  				return fmt.Errorf("proto: wrong wireType = %d for field VotingStartTime", wireType)
  2488  			}
  2489  			var msglen int
  2490  			for shift := uint(0); ; shift += 7 {
  2491  				if shift >= 64 {
  2492  					return ErrIntOverflowGov
  2493  				}
  2494  				if iNdEx >= l {
  2495  					return io.ErrUnexpectedEOF
  2496  				}
  2497  				b := dAtA[iNdEx]
  2498  				iNdEx++
  2499  				msglen |= int(b&0x7F) << shift
  2500  				if b < 0x80 {
  2501  					break
  2502  				}
  2503  			}
  2504  			if msglen < 0 {
  2505  				return ErrInvalidLengthGov
  2506  			}
  2507  			postIndex := iNdEx + msglen
  2508  			if postIndex < 0 {
  2509  				return ErrInvalidLengthGov
  2510  			}
  2511  			if postIndex > l {
  2512  				return io.ErrUnexpectedEOF
  2513  			}
  2514  			if m.VotingStartTime == nil {
  2515  				m.VotingStartTime = new(time.Time)
  2516  			}
  2517  			if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(m.VotingStartTime, dAtA[iNdEx:postIndex]); err != nil {
  2518  				return err
  2519  			}
  2520  			iNdEx = postIndex
  2521  		case 9:
  2522  			if wireType != 2 {
  2523  				return fmt.Errorf("proto: wrong wireType = %d for field VotingEndTime", wireType)
  2524  			}
  2525  			var msglen int
  2526  			for shift := uint(0); ; shift += 7 {
  2527  				if shift >= 64 {
  2528  					return ErrIntOverflowGov
  2529  				}
  2530  				if iNdEx >= l {
  2531  					return io.ErrUnexpectedEOF
  2532  				}
  2533  				b := dAtA[iNdEx]
  2534  				iNdEx++
  2535  				msglen |= int(b&0x7F) << shift
  2536  				if b < 0x80 {
  2537  					break
  2538  				}
  2539  			}
  2540  			if msglen < 0 {
  2541  				return ErrInvalidLengthGov
  2542  			}
  2543  			postIndex := iNdEx + msglen
  2544  			if postIndex < 0 {
  2545  				return ErrInvalidLengthGov
  2546  			}
  2547  			if postIndex > l {
  2548  				return io.ErrUnexpectedEOF
  2549  			}
  2550  			if m.VotingEndTime == nil {
  2551  				m.VotingEndTime = new(time.Time)
  2552  			}
  2553  			if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(m.VotingEndTime, dAtA[iNdEx:postIndex]); err != nil {
  2554  				return err
  2555  			}
  2556  			iNdEx = postIndex
  2557  		case 10:
  2558  			if wireType != 2 {
  2559  				return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType)
  2560  			}
  2561  			var stringLen uint64
  2562  			for shift := uint(0); ; shift += 7 {
  2563  				if shift >= 64 {
  2564  					return ErrIntOverflowGov
  2565  				}
  2566  				if iNdEx >= l {
  2567  					return io.ErrUnexpectedEOF
  2568  				}
  2569  				b := dAtA[iNdEx]
  2570  				iNdEx++
  2571  				stringLen |= uint64(b&0x7F) << shift
  2572  				if b < 0x80 {
  2573  					break
  2574  				}
  2575  			}
  2576  			intStringLen := int(stringLen)
  2577  			if intStringLen < 0 {
  2578  				return ErrInvalidLengthGov
  2579  			}
  2580  			postIndex := iNdEx + intStringLen
  2581  			if postIndex < 0 {
  2582  				return ErrInvalidLengthGov
  2583  			}
  2584  			if postIndex > l {
  2585  				return io.ErrUnexpectedEOF
  2586  			}
  2587  			m.Metadata = string(dAtA[iNdEx:postIndex])
  2588  			iNdEx = postIndex
  2589  		case 11:
  2590  			if wireType != 2 {
  2591  				return fmt.Errorf("proto: wrong wireType = %d for field Title", wireType)
  2592  			}
  2593  			var stringLen uint64
  2594  			for shift := uint(0); ; shift += 7 {
  2595  				if shift >= 64 {
  2596  					return ErrIntOverflowGov
  2597  				}
  2598  				if iNdEx >= l {
  2599  					return io.ErrUnexpectedEOF
  2600  				}
  2601  				b := dAtA[iNdEx]
  2602  				iNdEx++
  2603  				stringLen |= uint64(b&0x7F) << shift
  2604  				if b < 0x80 {
  2605  					break
  2606  				}
  2607  			}
  2608  			intStringLen := int(stringLen)
  2609  			if intStringLen < 0 {
  2610  				return ErrInvalidLengthGov
  2611  			}
  2612  			postIndex := iNdEx + intStringLen
  2613  			if postIndex < 0 {
  2614  				return ErrInvalidLengthGov
  2615  			}
  2616  			if postIndex > l {
  2617  				return io.ErrUnexpectedEOF
  2618  			}
  2619  			m.Title = string(dAtA[iNdEx:postIndex])
  2620  			iNdEx = postIndex
  2621  		case 12:
  2622  			if wireType != 2 {
  2623  				return fmt.Errorf("proto: wrong wireType = %d for field Summary", wireType)
  2624  			}
  2625  			var stringLen uint64
  2626  			for shift := uint(0); ; shift += 7 {
  2627  				if shift >= 64 {
  2628  					return ErrIntOverflowGov
  2629  				}
  2630  				if iNdEx >= l {
  2631  					return io.ErrUnexpectedEOF
  2632  				}
  2633  				b := dAtA[iNdEx]
  2634  				iNdEx++
  2635  				stringLen |= uint64(b&0x7F) << shift
  2636  				if b < 0x80 {
  2637  					break
  2638  				}
  2639  			}
  2640  			intStringLen := int(stringLen)
  2641  			if intStringLen < 0 {
  2642  				return ErrInvalidLengthGov
  2643  			}
  2644  			postIndex := iNdEx + intStringLen
  2645  			if postIndex < 0 {
  2646  				return ErrInvalidLengthGov
  2647  			}
  2648  			if postIndex > l {
  2649  				return io.ErrUnexpectedEOF
  2650  			}
  2651  			m.Summary = string(dAtA[iNdEx:postIndex])
  2652  			iNdEx = postIndex
  2653  		case 13:
  2654  			if wireType != 2 {
  2655  				return fmt.Errorf("proto: wrong wireType = %d for field Proposer", wireType)
  2656  			}
  2657  			var stringLen uint64
  2658  			for shift := uint(0); ; shift += 7 {
  2659  				if shift >= 64 {
  2660  					return ErrIntOverflowGov
  2661  				}
  2662  				if iNdEx >= l {
  2663  					return io.ErrUnexpectedEOF
  2664  				}
  2665  				b := dAtA[iNdEx]
  2666  				iNdEx++
  2667  				stringLen |= uint64(b&0x7F) << shift
  2668  				if b < 0x80 {
  2669  					break
  2670  				}
  2671  			}
  2672  			intStringLen := int(stringLen)
  2673  			if intStringLen < 0 {
  2674  				return ErrInvalidLengthGov
  2675  			}
  2676  			postIndex := iNdEx + intStringLen
  2677  			if postIndex < 0 {
  2678  				return ErrInvalidLengthGov
  2679  			}
  2680  			if postIndex > l {
  2681  				return io.ErrUnexpectedEOF
  2682  			}
  2683  			m.Proposer = string(dAtA[iNdEx:postIndex])
  2684  			iNdEx = postIndex
  2685  		case 14:
  2686  			if wireType != 0 {
  2687  				return fmt.Errorf("proto: wrong wireType = %d for field Expedited", wireType)
  2688  			}
  2689  			var v int
  2690  			for shift := uint(0); ; shift += 7 {
  2691  				if shift >= 64 {
  2692  					return ErrIntOverflowGov
  2693  				}
  2694  				if iNdEx >= l {
  2695  					return io.ErrUnexpectedEOF
  2696  				}
  2697  				b := dAtA[iNdEx]
  2698  				iNdEx++
  2699  				v |= int(b&0x7F) << shift
  2700  				if b < 0x80 {
  2701  					break
  2702  				}
  2703  			}
  2704  			m.Expedited = bool(v != 0)
  2705  		case 15:
  2706  			if wireType != 2 {
  2707  				return fmt.Errorf("proto: wrong wireType = %d for field FailedReason", wireType)
  2708  			}
  2709  			var stringLen uint64
  2710  			for shift := uint(0); ; shift += 7 {
  2711  				if shift >= 64 {
  2712  					return ErrIntOverflowGov
  2713  				}
  2714  				if iNdEx >= l {
  2715  					return io.ErrUnexpectedEOF
  2716  				}
  2717  				b := dAtA[iNdEx]
  2718  				iNdEx++
  2719  				stringLen |= uint64(b&0x7F) << shift
  2720  				if b < 0x80 {
  2721  					break
  2722  				}
  2723  			}
  2724  			intStringLen := int(stringLen)
  2725  			if intStringLen < 0 {
  2726  				return ErrInvalidLengthGov
  2727  			}
  2728  			postIndex := iNdEx + intStringLen
  2729  			if postIndex < 0 {
  2730  				return ErrInvalidLengthGov
  2731  			}
  2732  			if postIndex > l {
  2733  				return io.ErrUnexpectedEOF
  2734  			}
  2735  			m.FailedReason = string(dAtA[iNdEx:postIndex])
  2736  			iNdEx = postIndex
  2737  		default:
  2738  			iNdEx = preIndex
  2739  			skippy, err := skipGov(dAtA[iNdEx:])
  2740  			if err != nil {
  2741  				return err
  2742  			}
  2743  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2744  				return ErrInvalidLengthGov
  2745  			}
  2746  			if (iNdEx + skippy) > l {
  2747  				return io.ErrUnexpectedEOF
  2748  			}
  2749  			iNdEx += skippy
  2750  		}
  2751  	}
  2752  
  2753  	if iNdEx > l {
  2754  		return io.ErrUnexpectedEOF
  2755  	}
  2756  	return nil
  2757  }
  2758  func (m *TallyResult) Unmarshal(dAtA []byte) error {
  2759  	l := len(dAtA)
  2760  	iNdEx := 0
  2761  	for iNdEx < l {
  2762  		preIndex := iNdEx
  2763  		var wire uint64
  2764  		for shift := uint(0); ; shift += 7 {
  2765  			if shift >= 64 {
  2766  				return ErrIntOverflowGov
  2767  			}
  2768  			if iNdEx >= l {
  2769  				return io.ErrUnexpectedEOF
  2770  			}
  2771  			b := dAtA[iNdEx]
  2772  			iNdEx++
  2773  			wire |= uint64(b&0x7F) << shift
  2774  			if b < 0x80 {
  2775  				break
  2776  			}
  2777  		}
  2778  		fieldNum := int32(wire >> 3)
  2779  		wireType := int(wire & 0x7)
  2780  		if wireType == 4 {
  2781  			return fmt.Errorf("proto: TallyResult: wiretype end group for non-group")
  2782  		}
  2783  		if fieldNum <= 0 {
  2784  			return fmt.Errorf("proto: TallyResult: illegal tag %d (wire type %d)", fieldNum, wire)
  2785  		}
  2786  		switch fieldNum {
  2787  		case 1:
  2788  			if wireType != 2 {
  2789  				return fmt.Errorf("proto: wrong wireType = %d for field YesCount", wireType)
  2790  			}
  2791  			var stringLen uint64
  2792  			for shift := uint(0); ; shift += 7 {
  2793  				if shift >= 64 {
  2794  					return ErrIntOverflowGov
  2795  				}
  2796  				if iNdEx >= l {
  2797  					return io.ErrUnexpectedEOF
  2798  				}
  2799  				b := dAtA[iNdEx]
  2800  				iNdEx++
  2801  				stringLen |= uint64(b&0x7F) << shift
  2802  				if b < 0x80 {
  2803  					break
  2804  				}
  2805  			}
  2806  			intStringLen := int(stringLen)
  2807  			if intStringLen < 0 {
  2808  				return ErrInvalidLengthGov
  2809  			}
  2810  			postIndex := iNdEx + intStringLen
  2811  			if postIndex < 0 {
  2812  				return ErrInvalidLengthGov
  2813  			}
  2814  			if postIndex > l {
  2815  				return io.ErrUnexpectedEOF
  2816  			}
  2817  			m.YesCount = string(dAtA[iNdEx:postIndex])
  2818  			iNdEx = postIndex
  2819  		case 2:
  2820  			if wireType != 2 {
  2821  				return fmt.Errorf("proto: wrong wireType = %d for field AbstainCount", wireType)
  2822  			}
  2823  			var stringLen uint64
  2824  			for shift := uint(0); ; shift += 7 {
  2825  				if shift >= 64 {
  2826  					return ErrIntOverflowGov
  2827  				}
  2828  				if iNdEx >= l {
  2829  					return io.ErrUnexpectedEOF
  2830  				}
  2831  				b := dAtA[iNdEx]
  2832  				iNdEx++
  2833  				stringLen |= uint64(b&0x7F) << shift
  2834  				if b < 0x80 {
  2835  					break
  2836  				}
  2837  			}
  2838  			intStringLen := int(stringLen)
  2839  			if intStringLen < 0 {
  2840  				return ErrInvalidLengthGov
  2841  			}
  2842  			postIndex := iNdEx + intStringLen
  2843  			if postIndex < 0 {
  2844  				return ErrInvalidLengthGov
  2845  			}
  2846  			if postIndex > l {
  2847  				return io.ErrUnexpectedEOF
  2848  			}
  2849  			m.AbstainCount = string(dAtA[iNdEx:postIndex])
  2850  			iNdEx = postIndex
  2851  		case 3:
  2852  			if wireType != 2 {
  2853  				return fmt.Errorf("proto: wrong wireType = %d for field NoCount", wireType)
  2854  			}
  2855  			var stringLen uint64
  2856  			for shift := uint(0); ; shift += 7 {
  2857  				if shift >= 64 {
  2858  					return ErrIntOverflowGov
  2859  				}
  2860  				if iNdEx >= l {
  2861  					return io.ErrUnexpectedEOF
  2862  				}
  2863  				b := dAtA[iNdEx]
  2864  				iNdEx++
  2865  				stringLen |= uint64(b&0x7F) << shift
  2866  				if b < 0x80 {
  2867  					break
  2868  				}
  2869  			}
  2870  			intStringLen := int(stringLen)
  2871  			if intStringLen < 0 {
  2872  				return ErrInvalidLengthGov
  2873  			}
  2874  			postIndex := iNdEx + intStringLen
  2875  			if postIndex < 0 {
  2876  				return ErrInvalidLengthGov
  2877  			}
  2878  			if postIndex > l {
  2879  				return io.ErrUnexpectedEOF
  2880  			}
  2881  			m.NoCount = string(dAtA[iNdEx:postIndex])
  2882  			iNdEx = postIndex
  2883  		case 4:
  2884  			if wireType != 2 {
  2885  				return fmt.Errorf("proto: wrong wireType = %d for field NoWithVetoCount", wireType)
  2886  			}
  2887  			var stringLen uint64
  2888  			for shift := uint(0); ; shift += 7 {
  2889  				if shift >= 64 {
  2890  					return ErrIntOverflowGov
  2891  				}
  2892  				if iNdEx >= l {
  2893  					return io.ErrUnexpectedEOF
  2894  				}
  2895  				b := dAtA[iNdEx]
  2896  				iNdEx++
  2897  				stringLen |= uint64(b&0x7F) << shift
  2898  				if b < 0x80 {
  2899  					break
  2900  				}
  2901  			}
  2902  			intStringLen := int(stringLen)
  2903  			if intStringLen < 0 {
  2904  				return ErrInvalidLengthGov
  2905  			}
  2906  			postIndex := iNdEx + intStringLen
  2907  			if postIndex < 0 {
  2908  				return ErrInvalidLengthGov
  2909  			}
  2910  			if postIndex > l {
  2911  				return io.ErrUnexpectedEOF
  2912  			}
  2913  			m.NoWithVetoCount = string(dAtA[iNdEx:postIndex])
  2914  			iNdEx = postIndex
  2915  		default:
  2916  			iNdEx = preIndex
  2917  			skippy, err := skipGov(dAtA[iNdEx:])
  2918  			if err != nil {
  2919  				return err
  2920  			}
  2921  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2922  				return ErrInvalidLengthGov
  2923  			}
  2924  			if (iNdEx + skippy) > l {
  2925  				return io.ErrUnexpectedEOF
  2926  			}
  2927  			iNdEx += skippy
  2928  		}
  2929  	}
  2930  
  2931  	if iNdEx > l {
  2932  		return io.ErrUnexpectedEOF
  2933  	}
  2934  	return nil
  2935  }
  2936  func (m *Vote) Unmarshal(dAtA []byte) error {
  2937  	l := len(dAtA)
  2938  	iNdEx := 0
  2939  	for iNdEx < l {
  2940  		preIndex := iNdEx
  2941  		var wire uint64
  2942  		for shift := uint(0); ; shift += 7 {
  2943  			if shift >= 64 {
  2944  				return ErrIntOverflowGov
  2945  			}
  2946  			if iNdEx >= l {
  2947  				return io.ErrUnexpectedEOF
  2948  			}
  2949  			b := dAtA[iNdEx]
  2950  			iNdEx++
  2951  			wire |= uint64(b&0x7F) << shift
  2952  			if b < 0x80 {
  2953  				break
  2954  			}
  2955  		}
  2956  		fieldNum := int32(wire >> 3)
  2957  		wireType := int(wire & 0x7)
  2958  		if wireType == 4 {
  2959  			return fmt.Errorf("proto: Vote: wiretype end group for non-group")
  2960  		}
  2961  		if fieldNum <= 0 {
  2962  			return fmt.Errorf("proto: Vote: illegal tag %d (wire type %d)", fieldNum, wire)
  2963  		}
  2964  		switch fieldNum {
  2965  		case 1:
  2966  			if wireType != 0 {
  2967  				return fmt.Errorf("proto: wrong wireType = %d for field ProposalId", wireType)
  2968  			}
  2969  			m.ProposalId = 0
  2970  			for shift := uint(0); ; shift += 7 {
  2971  				if shift >= 64 {
  2972  					return ErrIntOverflowGov
  2973  				}
  2974  				if iNdEx >= l {
  2975  					return io.ErrUnexpectedEOF
  2976  				}
  2977  				b := dAtA[iNdEx]
  2978  				iNdEx++
  2979  				m.ProposalId |= uint64(b&0x7F) << shift
  2980  				if b < 0x80 {
  2981  					break
  2982  				}
  2983  			}
  2984  		case 2:
  2985  			if wireType != 2 {
  2986  				return fmt.Errorf("proto: wrong wireType = %d for field Voter", wireType)
  2987  			}
  2988  			var stringLen uint64
  2989  			for shift := uint(0); ; shift += 7 {
  2990  				if shift >= 64 {
  2991  					return ErrIntOverflowGov
  2992  				}
  2993  				if iNdEx >= l {
  2994  					return io.ErrUnexpectedEOF
  2995  				}
  2996  				b := dAtA[iNdEx]
  2997  				iNdEx++
  2998  				stringLen |= uint64(b&0x7F) << shift
  2999  				if b < 0x80 {
  3000  					break
  3001  				}
  3002  			}
  3003  			intStringLen := int(stringLen)
  3004  			if intStringLen < 0 {
  3005  				return ErrInvalidLengthGov
  3006  			}
  3007  			postIndex := iNdEx + intStringLen
  3008  			if postIndex < 0 {
  3009  				return ErrInvalidLengthGov
  3010  			}
  3011  			if postIndex > l {
  3012  				return io.ErrUnexpectedEOF
  3013  			}
  3014  			m.Voter = string(dAtA[iNdEx:postIndex])
  3015  			iNdEx = postIndex
  3016  		case 4:
  3017  			if wireType != 2 {
  3018  				return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
  3019  			}
  3020  			var msglen int
  3021  			for shift := uint(0); ; shift += 7 {
  3022  				if shift >= 64 {
  3023  					return ErrIntOverflowGov
  3024  				}
  3025  				if iNdEx >= l {
  3026  					return io.ErrUnexpectedEOF
  3027  				}
  3028  				b := dAtA[iNdEx]
  3029  				iNdEx++
  3030  				msglen |= int(b&0x7F) << shift
  3031  				if b < 0x80 {
  3032  					break
  3033  				}
  3034  			}
  3035  			if msglen < 0 {
  3036  				return ErrInvalidLengthGov
  3037  			}
  3038  			postIndex := iNdEx + msglen
  3039  			if postIndex < 0 {
  3040  				return ErrInvalidLengthGov
  3041  			}
  3042  			if postIndex > l {
  3043  				return io.ErrUnexpectedEOF
  3044  			}
  3045  			m.Options = append(m.Options, &WeightedVoteOption{})
  3046  			if err := m.Options[len(m.Options)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3047  				return err
  3048  			}
  3049  			iNdEx = postIndex
  3050  		case 5:
  3051  			if wireType != 2 {
  3052  				return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType)
  3053  			}
  3054  			var stringLen uint64
  3055  			for shift := uint(0); ; shift += 7 {
  3056  				if shift >= 64 {
  3057  					return ErrIntOverflowGov
  3058  				}
  3059  				if iNdEx >= l {
  3060  					return io.ErrUnexpectedEOF
  3061  				}
  3062  				b := dAtA[iNdEx]
  3063  				iNdEx++
  3064  				stringLen |= uint64(b&0x7F) << shift
  3065  				if b < 0x80 {
  3066  					break
  3067  				}
  3068  			}
  3069  			intStringLen := int(stringLen)
  3070  			if intStringLen < 0 {
  3071  				return ErrInvalidLengthGov
  3072  			}
  3073  			postIndex := iNdEx + intStringLen
  3074  			if postIndex < 0 {
  3075  				return ErrInvalidLengthGov
  3076  			}
  3077  			if postIndex > l {
  3078  				return io.ErrUnexpectedEOF
  3079  			}
  3080  			m.Metadata = string(dAtA[iNdEx:postIndex])
  3081  			iNdEx = postIndex
  3082  		default:
  3083  			iNdEx = preIndex
  3084  			skippy, err := skipGov(dAtA[iNdEx:])
  3085  			if err != nil {
  3086  				return err
  3087  			}
  3088  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3089  				return ErrInvalidLengthGov
  3090  			}
  3091  			if (iNdEx + skippy) > l {
  3092  				return io.ErrUnexpectedEOF
  3093  			}
  3094  			iNdEx += skippy
  3095  		}
  3096  	}
  3097  
  3098  	if iNdEx > l {
  3099  		return io.ErrUnexpectedEOF
  3100  	}
  3101  	return nil
  3102  }
  3103  func (m *DepositParams) Unmarshal(dAtA []byte) error {
  3104  	l := len(dAtA)
  3105  	iNdEx := 0
  3106  	for iNdEx < l {
  3107  		preIndex := iNdEx
  3108  		var wire uint64
  3109  		for shift := uint(0); ; shift += 7 {
  3110  			if shift >= 64 {
  3111  				return ErrIntOverflowGov
  3112  			}
  3113  			if iNdEx >= l {
  3114  				return io.ErrUnexpectedEOF
  3115  			}
  3116  			b := dAtA[iNdEx]
  3117  			iNdEx++
  3118  			wire |= uint64(b&0x7F) << shift
  3119  			if b < 0x80 {
  3120  				break
  3121  			}
  3122  		}
  3123  		fieldNum := int32(wire >> 3)
  3124  		wireType := int(wire & 0x7)
  3125  		if wireType == 4 {
  3126  			return fmt.Errorf("proto: DepositParams: wiretype end group for non-group")
  3127  		}
  3128  		if fieldNum <= 0 {
  3129  			return fmt.Errorf("proto: DepositParams: illegal tag %d (wire type %d)", fieldNum, wire)
  3130  		}
  3131  		switch fieldNum {
  3132  		case 1:
  3133  			if wireType != 2 {
  3134  				return fmt.Errorf("proto: wrong wireType = %d for field MinDeposit", wireType)
  3135  			}
  3136  			var msglen int
  3137  			for shift := uint(0); ; shift += 7 {
  3138  				if shift >= 64 {
  3139  					return ErrIntOverflowGov
  3140  				}
  3141  				if iNdEx >= l {
  3142  					return io.ErrUnexpectedEOF
  3143  				}
  3144  				b := dAtA[iNdEx]
  3145  				iNdEx++
  3146  				msglen |= int(b&0x7F) << shift
  3147  				if b < 0x80 {
  3148  					break
  3149  				}
  3150  			}
  3151  			if msglen < 0 {
  3152  				return ErrInvalidLengthGov
  3153  			}
  3154  			postIndex := iNdEx + msglen
  3155  			if postIndex < 0 {
  3156  				return ErrInvalidLengthGov
  3157  			}
  3158  			if postIndex > l {
  3159  				return io.ErrUnexpectedEOF
  3160  			}
  3161  			m.MinDeposit = append(m.MinDeposit, types.Coin{})
  3162  			if err := m.MinDeposit[len(m.MinDeposit)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3163  				return err
  3164  			}
  3165  			iNdEx = postIndex
  3166  		case 2:
  3167  			if wireType != 2 {
  3168  				return fmt.Errorf("proto: wrong wireType = %d for field MaxDepositPeriod", wireType)
  3169  			}
  3170  			var msglen int
  3171  			for shift := uint(0); ; shift += 7 {
  3172  				if shift >= 64 {
  3173  					return ErrIntOverflowGov
  3174  				}
  3175  				if iNdEx >= l {
  3176  					return io.ErrUnexpectedEOF
  3177  				}
  3178  				b := dAtA[iNdEx]
  3179  				iNdEx++
  3180  				msglen |= int(b&0x7F) << shift
  3181  				if b < 0x80 {
  3182  					break
  3183  				}
  3184  			}
  3185  			if msglen < 0 {
  3186  				return ErrInvalidLengthGov
  3187  			}
  3188  			postIndex := iNdEx + msglen
  3189  			if postIndex < 0 {
  3190  				return ErrInvalidLengthGov
  3191  			}
  3192  			if postIndex > l {
  3193  				return io.ErrUnexpectedEOF
  3194  			}
  3195  			if m.MaxDepositPeriod == nil {
  3196  				m.MaxDepositPeriod = new(time.Duration)
  3197  			}
  3198  			if err := github_com_cosmos_gogoproto_types.StdDurationUnmarshal(m.MaxDepositPeriod, dAtA[iNdEx:postIndex]); err != nil {
  3199  				return err
  3200  			}
  3201  			iNdEx = postIndex
  3202  		default:
  3203  			iNdEx = preIndex
  3204  			skippy, err := skipGov(dAtA[iNdEx:])
  3205  			if err != nil {
  3206  				return err
  3207  			}
  3208  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3209  				return ErrInvalidLengthGov
  3210  			}
  3211  			if (iNdEx + skippy) > l {
  3212  				return io.ErrUnexpectedEOF
  3213  			}
  3214  			iNdEx += skippy
  3215  		}
  3216  	}
  3217  
  3218  	if iNdEx > l {
  3219  		return io.ErrUnexpectedEOF
  3220  	}
  3221  	return nil
  3222  }
  3223  func (m *VotingParams) Unmarshal(dAtA []byte) error {
  3224  	l := len(dAtA)
  3225  	iNdEx := 0
  3226  	for iNdEx < l {
  3227  		preIndex := iNdEx
  3228  		var wire uint64
  3229  		for shift := uint(0); ; shift += 7 {
  3230  			if shift >= 64 {
  3231  				return ErrIntOverflowGov
  3232  			}
  3233  			if iNdEx >= l {
  3234  				return io.ErrUnexpectedEOF
  3235  			}
  3236  			b := dAtA[iNdEx]
  3237  			iNdEx++
  3238  			wire |= uint64(b&0x7F) << shift
  3239  			if b < 0x80 {
  3240  				break
  3241  			}
  3242  		}
  3243  		fieldNum := int32(wire >> 3)
  3244  		wireType := int(wire & 0x7)
  3245  		if wireType == 4 {
  3246  			return fmt.Errorf("proto: VotingParams: wiretype end group for non-group")
  3247  		}
  3248  		if fieldNum <= 0 {
  3249  			return fmt.Errorf("proto: VotingParams: illegal tag %d (wire type %d)", fieldNum, wire)
  3250  		}
  3251  		switch fieldNum {
  3252  		case 1:
  3253  			if wireType != 2 {
  3254  				return fmt.Errorf("proto: wrong wireType = %d for field VotingPeriod", wireType)
  3255  			}
  3256  			var msglen int
  3257  			for shift := uint(0); ; shift += 7 {
  3258  				if shift >= 64 {
  3259  					return ErrIntOverflowGov
  3260  				}
  3261  				if iNdEx >= l {
  3262  					return io.ErrUnexpectedEOF
  3263  				}
  3264  				b := dAtA[iNdEx]
  3265  				iNdEx++
  3266  				msglen |= int(b&0x7F) << shift
  3267  				if b < 0x80 {
  3268  					break
  3269  				}
  3270  			}
  3271  			if msglen < 0 {
  3272  				return ErrInvalidLengthGov
  3273  			}
  3274  			postIndex := iNdEx + msglen
  3275  			if postIndex < 0 {
  3276  				return ErrInvalidLengthGov
  3277  			}
  3278  			if postIndex > l {
  3279  				return io.ErrUnexpectedEOF
  3280  			}
  3281  			if m.VotingPeriod == nil {
  3282  				m.VotingPeriod = new(time.Duration)
  3283  			}
  3284  			if err := github_com_cosmos_gogoproto_types.StdDurationUnmarshal(m.VotingPeriod, dAtA[iNdEx:postIndex]); err != nil {
  3285  				return err
  3286  			}
  3287  			iNdEx = postIndex
  3288  		default:
  3289  			iNdEx = preIndex
  3290  			skippy, err := skipGov(dAtA[iNdEx:])
  3291  			if err != nil {
  3292  				return err
  3293  			}
  3294  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3295  				return ErrInvalidLengthGov
  3296  			}
  3297  			if (iNdEx + skippy) > l {
  3298  				return io.ErrUnexpectedEOF
  3299  			}
  3300  			iNdEx += skippy
  3301  		}
  3302  	}
  3303  
  3304  	if iNdEx > l {
  3305  		return io.ErrUnexpectedEOF
  3306  	}
  3307  	return nil
  3308  }
  3309  func (m *TallyParams) Unmarshal(dAtA []byte) error {
  3310  	l := len(dAtA)
  3311  	iNdEx := 0
  3312  	for iNdEx < l {
  3313  		preIndex := iNdEx
  3314  		var wire uint64
  3315  		for shift := uint(0); ; shift += 7 {
  3316  			if shift >= 64 {
  3317  				return ErrIntOverflowGov
  3318  			}
  3319  			if iNdEx >= l {
  3320  				return io.ErrUnexpectedEOF
  3321  			}
  3322  			b := dAtA[iNdEx]
  3323  			iNdEx++
  3324  			wire |= uint64(b&0x7F) << shift
  3325  			if b < 0x80 {
  3326  				break
  3327  			}
  3328  		}
  3329  		fieldNum := int32(wire >> 3)
  3330  		wireType := int(wire & 0x7)
  3331  		if wireType == 4 {
  3332  			return fmt.Errorf("proto: TallyParams: wiretype end group for non-group")
  3333  		}
  3334  		if fieldNum <= 0 {
  3335  			return fmt.Errorf("proto: TallyParams: illegal tag %d (wire type %d)", fieldNum, wire)
  3336  		}
  3337  		switch fieldNum {
  3338  		case 1:
  3339  			if wireType != 2 {
  3340  				return fmt.Errorf("proto: wrong wireType = %d for field Quorum", wireType)
  3341  			}
  3342  			var stringLen uint64
  3343  			for shift := uint(0); ; shift += 7 {
  3344  				if shift >= 64 {
  3345  					return ErrIntOverflowGov
  3346  				}
  3347  				if iNdEx >= l {
  3348  					return io.ErrUnexpectedEOF
  3349  				}
  3350  				b := dAtA[iNdEx]
  3351  				iNdEx++
  3352  				stringLen |= uint64(b&0x7F) << shift
  3353  				if b < 0x80 {
  3354  					break
  3355  				}
  3356  			}
  3357  			intStringLen := int(stringLen)
  3358  			if intStringLen < 0 {
  3359  				return ErrInvalidLengthGov
  3360  			}
  3361  			postIndex := iNdEx + intStringLen
  3362  			if postIndex < 0 {
  3363  				return ErrInvalidLengthGov
  3364  			}
  3365  			if postIndex > l {
  3366  				return io.ErrUnexpectedEOF
  3367  			}
  3368  			m.Quorum = string(dAtA[iNdEx:postIndex])
  3369  			iNdEx = postIndex
  3370  		case 2:
  3371  			if wireType != 2 {
  3372  				return fmt.Errorf("proto: wrong wireType = %d for field Threshold", wireType)
  3373  			}
  3374  			var stringLen uint64
  3375  			for shift := uint(0); ; shift += 7 {
  3376  				if shift >= 64 {
  3377  					return ErrIntOverflowGov
  3378  				}
  3379  				if iNdEx >= l {
  3380  					return io.ErrUnexpectedEOF
  3381  				}
  3382  				b := dAtA[iNdEx]
  3383  				iNdEx++
  3384  				stringLen |= uint64(b&0x7F) << shift
  3385  				if b < 0x80 {
  3386  					break
  3387  				}
  3388  			}
  3389  			intStringLen := int(stringLen)
  3390  			if intStringLen < 0 {
  3391  				return ErrInvalidLengthGov
  3392  			}
  3393  			postIndex := iNdEx + intStringLen
  3394  			if postIndex < 0 {
  3395  				return ErrInvalidLengthGov
  3396  			}
  3397  			if postIndex > l {
  3398  				return io.ErrUnexpectedEOF
  3399  			}
  3400  			m.Threshold = string(dAtA[iNdEx:postIndex])
  3401  			iNdEx = postIndex
  3402  		case 3:
  3403  			if wireType != 2 {
  3404  				return fmt.Errorf("proto: wrong wireType = %d for field VetoThreshold", wireType)
  3405  			}
  3406  			var stringLen uint64
  3407  			for shift := uint(0); ; shift += 7 {
  3408  				if shift >= 64 {
  3409  					return ErrIntOverflowGov
  3410  				}
  3411  				if iNdEx >= l {
  3412  					return io.ErrUnexpectedEOF
  3413  				}
  3414  				b := dAtA[iNdEx]
  3415  				iNdEx++
  3416  				stringLen |= uint64(b&0x7F) << shift
  3417  				if b < 0x80 {
  3418  					break
  3419  				}
  3420  			}
  3421  			intStringLen := int(stringLen)
  3422  			if intStringLen < 0 {
  3423  				return ErrInvalidLengthGov
  3424  			}
  3425  			postIndex := iNdEx + intStringLen
  3426  			if postIndex < 0 {
  3427  				return ErrInvalidLengthGov
  3428  			}
  3429  			if postIndex > l {
  3430  				return io.ErrUnexpectedEOF
  3431  			}
  3432  			m.VetoThreshold = string(dAtA[iNdEx:postIndex])
  3433  			iNdEx = postIndex
  3434  		default:
  3435  			iNdEx = preIndex
  3436  			skippy, err := skipGov(dAtA[iNdEx:])
  3437  			if err != nil {
  3438  				return err
  3439  			}
  3440  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3441  				return ErrInvalidLengthGov
  3442  			}
  3443  			if (iNdEx + skippy) > l {
  3444  				return io.ErrUnexpectedEOF
  3445  			}
  3446  			iNdEx += skippy
  3447  		}
  3448  	}
  3449  
  3450  	if iNdEx > l {
  3451  		return io.ErrUnexpectedEOF
  3452  	}
  3453  	return nil
  3454  }
  3455  func (m *Params) Unmarshal(dAtA []byte) error {
  3456  	l := len(dAtA)
  3457  	iNdEx := 0
  3458  	for iNdEx < l {
  3459  		preIndex := iNdEx
  3460  		var wire uint64
  3461  		for shift := uint(0); ; shift += 7 {
  3462  			if shift >= 64 {
  3463  				return ErrIntOverflowGov
  3464  			}
  3465  			if iNdEx >= l {
  3466  				return io.ErrUnexpectedEOF
  3467  			}
  3468  			b := dAtA[iNdEx]
  3469  			iNdEx++
  3470  			wire |= uint64(b&0x7F) << shift
  3471  			if b < 0x80 {
  3472  				break
  3473  			}
  3474  		}
  3475  		fieldNum := int32(wire >> 3)
  3476  		wireType := int(wire & 0x7)
  3477  		if wireType == 4 {
  3478  			return fmt.Errorf("proto: Params: wiretype end group for non-group")
  3479  		}
  3480  		if fieldNum <= 0 {
  3481  			return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire)
  3482  		}
  3483  		switch fieldNum {
  3484  		case 1:
  3485  			if wireType != 2 {
  3486  				return fmt.Errorf("proto: wrong wireType = %d for field MinDeposit", wireType)
  3487  			}
  3488  			var msglen int
  3489  			for shift := uint(0); ; shift += 7 {
  3490  				if shift >= 64 {
  3491  					return ErrIntOverflowGov
  3492  				}
  3493  				if iNdEx >= l {
  3494  					return io.ErrUnexpectedEOF
  3495  				}
  3496  				b := dAtA[iNdEx]
  3497  				iNdEx++
  3498  				msglen |= int(b&0x7F) << shift
  3499  				if b < 0x80 {
  3500  					break
  3501  				}
  3502  			}
  3503  			if msglen < 0 {
  3504  				return ErrInvalidLengthGov
  3505  			}
  3506  			postIndex := iNdEx + msglen
  3507  			if postIndex < 0 {
  3508  				return ErrInvalidLengthGov
  3509  			}
  3510  			if postIndex > l {
  3511  				return io.ErrUnexpectedEOF
  3512  			}
  3513  			m.MinDeposit = append(m.MinDeposit, types.Coin{})
  3514  			if err := m.MinDeposit[len(m.MinDeposit)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3515  				return err
  3516  			}
  3517  			iNdEx = postIndex
  3518  		case 2:
  3519  			if wireType != 2 {
  3520  				return fmt.Errorf("proto: wrong wireType = %d for field MaxDepositPeriod", wireType)
  3521  			}
  3522  			var msglen int
  3523  			for shift := uint(0); ; shift += 7 {
  3524  				if shift >= 64 {
  3525  					return ErrIntOverflowGov
  3526  				}
  3527  				if iNdEx >= l {
  3528  					return io.ErrUnexpectedEOF
  3529  				}
  3530  				b := dAtA[iNdEx]
  3531  				iNdEx++
  3532  				msglen |= int(b&0x7F) << shift
  3533  				if b < 0x80 {
  3534  					break
  3535  				}
  3536  			}
  3537  			if msglen < 0 {
  3538  				return ErrInvalidLengthGov
  3539  			}
  3540  			postIndex := iNdEx + msglen
  3541  			if postIndex < 0 {
  3542  				return ErrInvalidLengthGov
  3543  			}
  3544  			if postIndex > l {
  3545  				return io.ErrUnexpectedEOF
  3546  			}
  3547  			if m.MaxDepositPeriod == nil {
  3548  				m.MaxDepositPeriod = new(time.Duration)
  3549  			}
  3550  			if err := github_com_cosmos_gogoproto_types.StdDurationUnmarshal(m.MaxDepositPeriod, dAtA[iNdEx:postIndex]); err != nil {
  3551  				return err
  3552  			}
  3553  			iNdEx = postIndex
  3554  		case 3:
  3555  			if wireType != 2 {
  3556  				return fmt.Errorf("proto: wrong wireType = %d for field VotingPeriod", wireType)
  3557  			}
  3558  			var msglen int
  3559  			for shift := uint(0); ; shift += 7 {
  3560  				if shift >= 64 {
  3561  					return ErrIntOverflowGov
  3562  				}
  3563  				if iNdEx >= l {
  3564  					return io.ErrUnexpectedEOF
  3565  				}
  3566  				b := dAtA[iNdEx]
  3567  				iNdEx++
  3568  				msglen |= int(b&0x7F) << shift
  3569  				if b < 0x80 {
  3570  					break
  3571  				}
  3572  			}
  3573  			if msglen < 0 {
  3574  				return ErrInvalidLengthGov
  3575  			}
  3576  			postIndex := iNdEx + msglen
  3577  			if postIndex < 0 {
  3578  				return ErrInvalidLengthGov
  3579  			}
  3580  			if postIndex > l {
  3581  				return io.ErrUnexpectedEOF
  3582  			}
  3583  			if m.VotingPeriod == nil {
  3584  				m.VotingPeriod = new(time.Duration)
  3585  			}
  3586  			if err := github_com_cosmos_gogoproto_types.StdDurationUnmarshal(m.VotingPeriod, dAtA[iNdEx:postIndex]); err != nil {
  3587  				return err
  3588  			}
  3589  			iNdEx = postIndex
  3590  		case 4:
  3591  			if wireType != 2 {
  3592  				return fmt.Errorf("proto: wrong wireType = %d for field Quorum", wireType)
  3593  			}
  3594  			var stringLen uint64
  3595  			for shift := uint(0); ; shift += 7 {
  3596  				if shift >= 64 {
  3597  					return ErrIntOverflowGov
  3598  				}
  3599  				if iNdEx >= l {
  3600  					return io.ErrUnexpectedEOF
  3601  				}
  3602  				b := dAtA[iNdEx]
  3603  				iNdEx++
  3604  				stringLen |= uint64(b&0x7F) << shift
  3605  				if b < 0x80 {
  3606  					break
  3607  				}
  3608  			}
  3609  			intStringLen := int(stringLen)
  3610  			if intStringLen < 0 {
  3611  				return ErrInvalidLengthGov
  3612  			}
  3613  			postIndex := iNdEx + intStringLen
  3614  			if postIndex < 0 {
  3615  				return ErrInvalidLengthGov
  3616  			}
  3617  			if postIndex > l {
  3618  				return io.ErrUnexpectedEOF
  3619  			}
  3620  			m.Quorum = string(dAtA[iNdEx:postIndex])
  3621  			iNdEx = postIndex
  3622  		case 5:
  3623  			if wireType != 2 {
  3624  				return fmt.Errorf("proto: wrong wireType = %d for field Threshold", wireType)
  3625  			}
  3626  			var stringLen uint64
  3627  			for shift := uint(0); ; shift += 7 {
  3628  				if shift >= 64 {
  3629  					return ErrIntOverflowGov
  3630  				}
  3631  				if iNdEx >= l {
  3632  					return io.ErrUnexpectedEOF
  3633  				}
  3634  				b := dAtA[iNdEx]
  3635  				iNdEx++
  3636  				stringLen |= uint64(b&0x7F) << shift
  3637  				if b < 0x80 {
  3638  					break
  3639  				}
  3640  			}
  3641  			intStringLen := int(stringLen)
  3642  			if intStringLen < 0 {
  3643  				return ErrInvalidLengthGov
  3644  			}
  3645  			postIndex := iNdEx + intStringLen
  3646  			if postIndex < 0 {
  3647  				return ErrInvalidLengthGov
  3648  			}
  3649  			if postIndex > l {
  3650  				return io.ErrUnexpectedEOF
  3651  			}
  3652  			m.Threshold = string(dAtA[iNdEx:postIndex])
  3653  			iNdEx = postIndex
  3654  		case 6:
  3655  			if wireType != 2 {
  3656  				return fmt.Errorf("proto: wrong wireType = %d for field VetoThreshold", wireType)
  3657  			}
  3658  			var stringLen uint64
  3659  			for shift := uint(0); ; shift += 7 {
  3660  				if shift >= 64 {
  3661  					return ErrIntOverflowGov
  3662  				}
  3663  				if iNdEx >= l {
  3664  					return io.ErrUnexpectedEOF
  3665  				}
  3666  				b := dAtA[iNdEx]
  3667  				iNdEx++
  3668  				stringLen |= uint64(b&0x7F) << shift
  3669  				if b < 0x80 {
  3670  					break
  3671  				}
  3672  			}
  3673  			intStringLen := int(stringLen)
  3674  			if intStringLen < 0 {
  3675  				return ErrInvalidLengthGov
  3676  			}
  3677  			postIndex := iNdEx + intStringLen
  3678  			if postIndex < 0 {
  3679  				return ErrInvalidLengthGov
  3680  			}
  3681  			if postIndex > l {
  3682  				return io.ErrUnexpectedEOF
  3683  			}
  3684  			m.VetoThreshold = string(dAtA[iNdEx:postIndex])
  3685  			iNdEx = postIndex
  3686  		case 7:
  3687  			if wireType != 2 {
  3688  				return fmt.Errorf("proto: wrong wireType = %d for field MinInitialDepositRatio", wireType)
  3689  			}
  3690  			var stringLen uint64
  3691  			for shift := uint(0); ; shift += 7 {
  3692  				if shift >= 64 {
  3693  					return ErrIntOverflowGov
  3694  				}
  3695  				if iNdEx >= l {
  3696  					return io.ErrUnexpectedEOF
  3697  				}
  3698  				b := dAtA[iNdEx]
  3699  				iNdEx++
  3700  				stringLen |= uint64(b&0x7F) << shift
  3701  				if b < 0x80 {
  3702  					break
  3703  				}
  3704  			}
  3705  			intStringLen := int(stringLen)
  3706  			if intStringLen < 0 {
  3707  				return ErrInvalidLengthGov
  3708  			}
  3709  			postIndex := iNdEx + intStringLen
  3710  			if postIndex < 0 {
  3711  				return ErrInvalidLengthGov
  3712  			}
  3713  			if postIndex > l {
  3714  				return io.ErrUnexpectedEOF
  3715  			}
  3716  			m.MinInitialDepositRatio = string(dAtA[iNdEx:postIndex])
  3717  			iNdEx = postIndex
  3718  		case 8:
  3719  			if wireType != 2 {
  3720  				return fmt.Errorf("proto: wrong wireType = %d for field ProposalCancelRatio", wireType)
  3721  			}
  3722  			var stringLen uint64
  3723  			for shift := uint(0); ; shift += 7 {
  3724  				if shift >= 64 {
  3725  					return ErrIntOverflowGov
  3726  				}
  3727  				if iNdEx >= l {
  3728  					return io.ErrUnexpectedEOF
  3729  				}
  3730  				b := dAtA[iNdEx]
  3731  				iNdEx++
  3732  				stringLen |= uint64(b&0x7F) << shift
  3733  				if b < 0x80 {
  3734  					break
  3735  				}
  3736  			}
  3737  			intStringLen := int(stringLen)
  3738  			if intStringLen < 0 {
  3739  				return ErrInvalidLengthGov
  3740  			}
  3741  			postIndex := iNdEx + intStringLen
  3742  			if postIndex < 0 {
  3743  				return ErrInvalidLengthGov
  3744  			}
  3745  			if postIndex > l {
  3746  				return io.ErrUnexpectedEOF
  3747  			}
  3748  			m.ProposalCancelRatio = string(dAtA[iNdEx:postIndex])
  3749  			iNdEx = postIndex
  3750  		case 9:
  3751  			if wireType != 2 {
  3752  				return fmt.Errorf("proto: wrong wireType = %d for field ProposalCancelDest", wireType)
  3753  			}
  3754  			var stringLen uint64
  3755  			for shift := uint(0); ; shift += 7 {
  3756  				if shift >= 64 {
  3757  					return ErrIntOverflowGov
  3758  				}
  3759  				if iNdEx >= l {
  3760  					return io.ErrUnexpectedEOF
  3761  				}
  3762  				b := dAtA[iNdEx]
  3763  				iNdEx++
  3764  				stringLen |= uint64(b&0x7F) << shift
  3765  				if b < 0x80 {
  3766  					break
  3767  				}
  3768  			}
  3769  			intStringLen := int(stringLen)
  3770  			if intStringLen < 0 {
  3771  				return ErrInvalidLengthGov
  3772  			}
  3773  			postIndex := iNdEx + intStringLen
  3774  			if postIndex < 0 {
  3775  				return ErrInvalidLengthGov
  3776  			}
  3777  			if postIndex > l {
  3778  				return io.ErrUnexpectedEOF
  3779  			}
  3780  			m.ProposalCancelDest = string(dAtA[iNdEx:postIndex])
  3781  			iNdEx = postIndex
  3782  		case 10:
  3783  			if wireType != 2 {
  3784  				return fmt.Errorf("proto: wrong wireType = %d for field ExpeditedVotingPeriod", wireType)
  3785  			}
  3786  			var msglen int
  3787  			for shift := uint(0); ; shift += 7 {
  3788  				if shift >= 64 {
  3789  					return ErrIntOverflowGov
  3790  				}
  3791  				if iNdEx >= l {
  3792  					return io.ErrUnexpectedEOF
  3793  				}
  3794  				b := dAtA[iNdEx]
  3795  				iNdEx++
  3796  				msglen |= int(b&0x7F) << shift
  3797  				if b < 0x80 {
  3798  					break
  3799  				}
  3800  			}
  3801  			if msglen < 0 {
  3802  				return ErrInvalidLengthGov
  3803  			}
  3804  			postIndex := iNdEx + msglen
  3805  			if postIndex < 0 {
  3806  				return ErrInvalidLengthGov
  3807  			}
  3808  			if postIndex > l {
  3809  				return io.ErrUnexpectedEOF
  3810  			}
  3811  			if m.ExpeditedVotingPeriod == nil {
  3812  				m.ExpeditedVotingPeriod = new(time.Duration)
  3813  			}
  3814  			if err := github_com_cosmos_gogoproto_types.StdDurationUnmarshal(m.ExpeditedVotingPeriod, dAtA[iNdEx:postIndex]); err != nil {
  3815  				return err
  3816  			}
  3817  			iNdEx = postIndex
  3818  		case 11:
  3819  			if wireType != 2 {
  3820  				return fmt.Errorf("proto: wrong wireType = %d for field ExpeditedThreshold", wireType)
  3821  			}
  3822  			var stringLen uint64
  3823  			for shift := uint(0); ; shift += 7 {
  3824  				if shift >= 64 {
  3825  					return ErrIntOverflowGov
  3826  				}
  3827  				if iNdEx >= l {
  3828  					return io.ErrUnexpectedEOF
  3829  				}
  3830  				b := dAtA[iNdEx]
  3831  				iNdEx++
  3832  				stringLen |= uint64(b&0x7F) << shift
  3833  				if b < 0x80 {
  3834  					break
  3835  				}
  3836  			}
  3837  			intStringLen := int(stringLen)
  3838  			if intStringLen < 0 {
  3839  				return ErrInvalidLengthGov
  3840  			}
  3841  			postIndex := iNdEx + intStringLen
  3842  			if postIndex < 0 {
  3843  				return ErrInvalidLengthGov
  3844  			}
  3845  			if postIndex > l {
  3846  				return io.ErrUnexpectedEOF
  3847  			}
  3848  			m.ExpeditedThreshold = string(dAtA[iNdEx:postIndex])
  3849  			iNdEx = postIndex
  3850  		case 12:
  3851  			if wireType != 2 {
  3852  				return fmt.Errorf("proto: wrong wireType = %d for field ExpeditedMinDeposit", wireType)
  3853  			}
  3854  			var msglen int
  3855  			for shift := uint(0); ; shift += 7 {
  3856  				if shift >= 64 {
  3857  					return ErrIntOverflowGov
  3858  				}
  3859  				if iNdEx >= l {
  3860  					return io.ErrUnexpectedEOF
  3861  				}
  3862  				b := dAtA[iNdEx]
  3863  				iNdEx++
  3864  				msglen |= int(b&0x7F) << shift
  3865  				if b < 0x80 {
  3866  					break
  3867  				}
  3868  			}
  3869  			if msglen < 0 {
  3870  				return ErrInvalidLengthGov
  3871  			}
  3872  			postIndex := iNdEx + msglen
  3873  			if postIndex < 0 {
  3874  				return ErrInvalidLengthGov
  3875  			}
  3876  			if postIndex > l {
  3877  				return io.ErrUnexpectedEOF
  3878  			}
  3879  			m.ExpeditedMinDeposit = append(m.ExpeditedMinDeposit, types.Coin{})
  3880  			if err := m.ExpeditedMinDeposit[len(m.ExpeditedMinDeposit)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3881  				return err
  3882  			}
  3883  			iNdEx = postIndex
  3884  		case 13:
  3885  			if wireType != 0 {
  3886  				return fmt.Errorf("proto: wrong wireType = %d for field BurnVoteQuorum", wireType)
  3887  			}
  3888  			var v int
  3889  			for shift := uint(0); ; shift += 7 {
  3890  				if shift >= 64 {
  3891  					return ErrIntOverflowGov
  3892  				}
  3893  				if iNdEx >= l {
  3894  					return io.ErrUnexpectedEOF
  3895  				}
  3896  				b := dAtA[iNdEx]
  3897  				iNdEx++
  3898  				v |= int(b&0x7F) << shift
  3899  				if b < 0x80 {
  3900  					break
  3901  				}
  3902  			}
  3903  			m.BurnVoteQuorum = bool(v != 0)
  3904  		case 14:
  3905  			if wireType != 0 {
  3906  				return fmt.Errorf("proto: wrong wireType = %d for field BurnProposalDepositPrevote", wireType)
  3907  			}
  3908  			var v int
  3909  			for shift := uint(0); ; shift += 7 {
  3910  				if shift >= 64 {
  3911  					return ErrIntOverflowGov
  3912  				}
  3913  				if iNdEx >= l {
  3914  					return io.ErrUnexpectedEOF
  3915  				}
  3916  				b := dAtA[iNdEx]
  3917  				iNdEx++
  3918  				v |= int(b&0x7F) << shift
  3919  				if b < 0x80 {
  3920  					break
  3921  				}
  3922  			}
  3923  			m.BurnProposalDepositPrevote = bool(v != 0)
  3924  		case 15:
  3925  			if wireType != 0 {
  3926  				return fmt.Errorf("proto: wrong wireType = %d for field BurnVoteVeto", wireType)
  3927  			}
  3928  			var v int
  3929  			for shift := uint(0); ; shift += 7 {
  3930  				if shift >= 64 {
  3931  					return ErrIntOverflowGov
  3932  				}
  3933  				if iNdEx >= l {
  3934  					return io.ErrUnexpectedEOF
  3935  				}
  3936  				b := dAtA[iNdEx]
  3937  				iNdEx++
  3938  				v |= int(b&0x7F) << shift
  3939  				if b < 0x80 {
  3940  					break
  3941  				}
  3942  			}
  3943  			m.BurnVoteVeto = bool(v != 0)
  3944  		case 16:
  3945  			if wireType != 2 {
  3946  				return fmt.Errorf("proto: wrong wireType = %d for field MinDepositRatio", wireType)
  3947  			}
  3948  			var stringLen uint64
  3949  			for shift := uint(0); ; shift += 7 {
  3950  				if shift >= 64 {
  3951  					return ErrIntOverflowGov
  3952  				}
  3953  				if iNdEx >= l {
  3954  					return io.ErrUnexpectedEOF
  3955  				}
  3956  				b := dAtA[iNdEx]
  3957  				iNdEx++
  3958  				stringLen |= uint64(b&0x7F) << shift
  3959  				if b < 0x80 {
  3960  					break
  3961  				}
  3962  			}
  3963  			intStringLen := int(stringLen)
  3964  			if intStringLen < 0 {
  3965  				return ErrInvalidLengthGov
  3966  			}
  3967  			postIndex := iNdEx + intStringLen
  3968  			if postIndex < 0 {
  3969  				return ErrInvalidLengthGov
  3970  			}
  3971  			if postIndex > l {
  3972  				return io.ErrUnexpectedEOF
  3973  			}
  3974  			m.MinDepositRatio = string(dAtA[iNdEx:postIndex])
  3975  			iNdEx = postIndex
  3976  		default:
  3977  			iNdEx = preIndex
  3978  			skippy, err := skipGov(dAtA[iNdEx:])
  3979  			if err != nil {
  3980  				return err
  3981  			}
  3982  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3983  				return ErrInvalidLengthGov
  3984  			}
  3985  			if (iNdEx + skippy) > l {
  3986  				return io.ErrUnexpectedEOF
  3987  			}
  3988  			iNdEx += skippy
  3989  		}
  3990  	}
  3991  
  3992  	if iNdEx > l {
  3993  		return io.ErrUnexpectedEOF
  3994  	}
  3995  	return nil
  3996  }
  3997  func skipGov(dAtA []byte) (n int, err error) {
  3998  	l := len(dAtA)
  3999  	iNdEx := 0
  4000  	depth := 0
  4001  	for iNdEx < l {
  4002  		var wire uint64
  4003  		for shift := uint(0); ; shift += 7 {
  4004  			if shift >= 64 {
  4005  				return 0, ErrIntOverflowGov
  4006  			}
  4007  			if iNdEx >= l {
  4008  				return 0, io.ErrUnexpectedEOF
  4009  			}
  4010  			b := dAtA[iNdEx]
  4011  			iNdEx++
  4012  			wire |= (uint64(b) & 0x7F) << shift
  4013  			if b < 0x80 {
  4014  				break
  4015  			}
  4016  		}
  4017  		wireType := int(wire & 0x7)
  4018  		switch wireType {
  4019  		case 0:
  4020  			for shift := uint(0); ; shift += 7 {
  4021  				if shift >= 64 {
  4022  					return 0, ErrIntOverflowGov
  4023  				}
  4024  				if iNdEx >= l {
  4025  					return 0, io.ErrUnexpectedEOF
  4026  				}
  4027  				iNdEx++
  4028  				if dAtA[iNdEx-1] < 0x80 {
  4029  					break
  4030  				}
  4031  			}
  4032  		case 1:
  4033  			iNdEx += 8
  4034  		case 2:
  4035  			var length int
  4036  			for shift := uint(0); ; shift += 7 {
  4037  				if shift >= 64 {
  4038  					return 0, ErrIntOverflowGov
  4039  				}
  4040  				if iNdEx >= l {
  4041  					return 0, io.ErrUnexpectedEOF
  4042  				}
  4043  				b := dAtA[iNdEx]
  4044  				iNdEx++
  4045  				length |= (int(b) & 0x7F) << shift
  4046  				if b < 0x80 {
  4047  					break
  4048  				}
  4049  			}
  4050  			if length < 0 {
  4051  				return 0, ErrInvalidLengthGov
  4052  			}
  4053  			iNdEx += length
  4054  		case 3:
  4055  			depth++
  4056  		case 4:
  4057  			if depth == 0 {
  4058  				return 0, ErrUnexpectedEndOfGroupGov
  4059  			}
  4060  			depth--
  4061  		case 5:
  4062  			iNdEx += 4
  4063  		default:
  4064  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  4065  		}
  4066  		if iNdEx < 0 {
  4067  			return 0, ErrInvalidLengthGov
  4068  		}
  4069  		if depth == 0 {
  4070  			return iNdEx, nil
  4071  		}
  4072  	}
  4073  	return 0, io.ErrUnexpectedEOF
  4074  }
  4075  
  4076  var (
  4077  	ErrInvalidLengthGov        = fmt.Errorf("proto: negative length found during unmarshaling")
  4078  	ErrIntOverflowGov          = fmt.Errorf("proto: integer overflow")
  4079  	ErrUnexpectedEndOfGroupGov = fmt.Errorf("proto: unexpected end of group")
  4080  )