#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WeightedVoteOption {
#[prost(enumeration = "VoteOption", tag = "1")]
pub option: i32,
#[prost(string, tag = "2")]
pub weight: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextProposal {
#[prost(string, tag = "1")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub description: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Deposit {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(string, tag = "2")]
pub depositor: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Proposal {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(message, optional, tag = "2")]
pub content: ::core::option::Option<::prost_types::Any>,
#[prost(enumeration = "ProposalStatus", tag = "3")]
pub status: i32,
#[prost(message, optional, tag = "4")]
pub final_tally_result: ::core::option::Option<TallyResult>,
#[prost(message, optional, tag = "5")]
pub submit_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "6")]
pub deposit_end_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, repeated, tag = "7")]
pub total_deposit: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
#[prost(message, optional, tag = "8")]
pub voting_start_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "9")]
pub voting_end_time: ::core::option::Option<::prost_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TallyResult {
#[prost(string, tag = "1")]
pub yes: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub abstain: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub no: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub no_with_veto: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Vote {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(string, tag = "2")]
pub voter: ::prost::alloc::string::String,
#[deprecated]
#[prost(enumeration = "VoteOption", tag = "3")]
pub option: i32,
#[prost(message, repeated, tag = "4")]
pub options: ::prost::alloc::vec::Vec<WeightedVoteOption>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DepositParams {
#[prost(message, repeated, tag = "1")]
pub min_deposit: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
#[prost(message, optional, tag = "2")]
pub max_deposit_period: ::core::option::Option<::prost_types::Duration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VotingParams {
#[prost(message, optional, tag = "1")]
pub voting_period: ::core::option::Option<::prost_types::Duration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TallyParams {
#[prost(bytes = "vec", tag = "1")]
pub quorum: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub threshold: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "3")]
pub veto_threshold: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VoteOption {
Unspecified = 0,
Yes = 1,
Abstain = 2,
No = 3,
NoWithVeto = 4,
}
impl VoteOption {
pub fn as_str_name(&self) -> &'static str {
match self {
VoteOption::Unspecified => "VOTE_OPTION_UNSPECIFIED",
VoteOption::Yes => "VOTE_OPTION_YES",
VoteOption::Abstain => "VOTE_OPTION_ABSTAIN",
VoteOption::No => "VOTE_OPTION_NO",
VoteOption::NoWithVeto => "VOTE_OPTION_NO_WITH_VETO",
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ProposalStatus {
Unspecified = 0,
DepositPeriod = 1,
VotingPeriod = 2,
Passed = 3,
Rejected = 4,
Failed = 5,
}
impl ProposalStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
ProposalStatus::Unspecified => "PROPOSAL_STATUS_UNSPECIFIED",
ProposalStatus::DepositPeriod => "PROPOSAL_STATUS_DEPOSIT_PERIOD",
ProposalStatus::VotingPeriod => "PROPOSAL_STATUS_VOTING_PERIOD",
ProposalStatus::Passed => "PROPOSAL_STATUS_PASSED",
ProposalStatus::Rejected => "PROPOSAL_STATUS_REJECTED",
ProposalStatus::Failed => "PROPOSAL_STATUS_FAILED",
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenesisState {
#[prost(uint64, tag = "1")]
pub starting_proposal_id: u64,
#[prost(message, repeated, tag = "2")]
pub deposits: ::prost::alloc::vec::Vec<Deposit>,
#[prost(message, repeated, tag = "3")]
pub votes: ::prost::alloc::vec::Vec<Vote>,
#[prost(message, repeated, tag = "4")]
pub proposals: ::prost::alloc::vec::Vec<Proposal>,
#[prost(message, optional, tag = "5")]
pub deposit_params: ::core::option::Option<DepositParams>,
#[prost(message, optional, tag = "6")]
pub voting_params: ::core::option::Option<VotingParams>,
#[prost(message, optional, tag = "7")]
pub tally_params: ::core::option::Option<TallyParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryProposalRequest {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryProposalResponse {
#[prost(message, optional, tag = "1")]
pub proposal: ::core::option::Option<Proposal>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryProposalsRequest {
#[prost(enumeration = "ProposalStatus", tag = "1")]
pub proposal_status: i32,
#[prost(string, tag = "2")]
pub voter: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub depositor: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryProposalsResponse {
#[prost(message, repeated, tag = "1")]
pub proposals: ::prost::alloc::vec::Vec<Proposal>,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryVoteRequest {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(string, tag = "2")]
pub voter: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryVoteResponse {
#[prost(message, optional, tag = "1")]
pub vote: ::core::option::Option<Vote>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryVotesRequest {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryVotesResponse {
#[prost(message, repeated, tag = "1")]
pub votes: ::prost::alloc::vec::Vec<Vote>,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryParamsRequest {
#[prost(string, tag = "1")]
pub params_type: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryParamsResponse {
#[prost(message, optional, tag = "1")]
pub voting_params: ::core::option::Option<VotingParams>,
#[prost(message, optional, tag = "2")]
pub deposit_params: ::core::option::Option<DepositParams>,
#[prost(message, optional, tag = "3")]
pub tally_params: ::core::option::Option<TallyParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryDepositRequest {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(string, tag = "2")]
pub depositor: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryDepositResponse {
#[prost(message, optional, tag = "1")]
pub deposit: ::core::option::Option<Deposit>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryDepositsRequest {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryDepositsResponse {
#[prost(message, repeated, tag = "1")]
pub deposits: ::prost::alloc::vec::Vec<Deposit>,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryTallyResultRequest {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryTallyResultResponse {
#[prost(message, optional, tag = "1")]
pub tally: ::core::option::Option<TallyResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgSubmitProposal {
#[prost(message, optional, tag = "1")]
pub content: ::core::option::Option<::prost_types::Any>,
#[prost(message, repeated, tag = "2")]
pub initial_deposit: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
#[prost(string, tag = "3")]
pub proposer: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgSubmitProposalResponse {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgVote {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(string, tag = "2")]
pub voter: ::prost::alloc::string::String,
#[prost(enumeration = "VoteOption", tag = "3")]
pub option: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgVoteResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgVoteWeighted {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(string, tag = "2")]
pub voter: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub options: ::prost::alloc::vec::Vec<WeightedVoteOption>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgVoteWeightedResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgDeposit {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(string, tag = "2")]
pub depositor: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgDepositResponse {}
include!("cosmos.gov.v1beta1.tonic.rs");