#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Member {
#[prost(string, tag = "1")]
pub address: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub weight: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub metadata: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub added_at: ::core::option::Option<::prost_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MemberRequest {
#[prost(string, tag = "1")]
pub address: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub weight: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub metadata: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ThresholdDecisionPolicy {
#[prost(string, tag = "1")]
pub threshold: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub windows: ::core::option::Option<DecisionPolicyWindows>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PercentageDecisionPolicy {
#[prost(string, tag = "1")]
pub percentage: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub windows: ::core::option::Option<DecisionPolicyWindows>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DecisionPolicyWindows {
#[prost(message, optional, tag = "1")]
pub voting_period: ::core::option::Option<::prost_types::Duration>,
#[prost(message, optional, tag = "2")]
pub min_execution_period: ::core::option::Option<::prost_types::Duration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupInfo {
#[prost(uint64, tag = "1")]
pub id: u64,
#[prost(string, tag = "2")]
pub admin: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub metadata: ::prost::alloc::string::String,
#[prost(uint64, tag = "4")]
pub version: u64,
#[prost(string, tag = "5")]
pub total_weight: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub created_at: ::core::option::Option<::prost_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupMember {
#[prost(uint64, tag = "1")]
pub group_id: u64,
#[prost(message, optional, tag = "2")]
pub member: ::core::option::Option<Member>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupPolicyInfo {
#[prost(string, tag = "1")]
pub address: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub group_id: u64,
#[prost(string, tag = "3")]
pub admin: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub metadata: ::prost::alloc::string::String,
#[prost(uint64, tag = "5")]
pub version: u64,
#[prost(message, optional, tag = "6")]
pub decision_policy: ::core::option::Option<::prost_types::Any>,
#[prost(message, optional, tag = "7")]
pub created_at: ::core::option::Option<::prost_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Proposal {
#[prost(uint64, tag = "1")]
pub id: u64,
#[prost(string, tag = "2")]
pub group_policy_address: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub metadata: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "4")]
pub proposers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "5")]
pub submit_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(uint64, tag = "6")]
pub group_version: u64,
#[prost(uint64, tag = "7")]
pub group_policy_version: u64,
#[prost(enumeration = "ProposalStatus", tag = "8")]
pub status: i32,
#[prost(message, optional, tag = "9")]
pub final_tally_result: ::core::option::Option<TallyResult>,
#[prost(message, optional, tag = "10")]
pub voting_period_end: ::core::option::Option<::prost_types::Timestamp>,
#[prost(enumeration = "ProposalExecutorResult", tag = "11")]
pub executor_result: i32,
#[prost(message, repeated, tag = "12")]
pub messages: ::prost::alloc::vec::Vec<::prost_types::Any>,
#[prost(string, tag = "13")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "14")]
pub summary: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TallyResult {
#[prost(string, tag = "1")]
pub yes_count: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub abstain_count: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub no_count: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub no_with_veto_count: ::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,
#[prost(enumeration = "VoteOption", tag = "3")]
pub option: i32,
#[prost(string, tag = "4")]
pub metadata: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub submit_time: ::core::option::Option<::prost_types::Timestamp>,
}
#[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 {
Self::Unspecified => "VOTE_OPTION_UNSPECIFIED",
Self::Yes => "VOTE_OPTION_YES",
Self::Abstain => "VOTE_OPTION_ABSTAIN",
Self::No => "VOTE_OPTION_NO",
Self::NoWithVeto => "VOTE_OPTION_NO_WITH_VETO",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"VOTE_OPTION_UNSPECIFIED" => Some(Self::Unspecified),
"VOTE_OPTION_YES" => Some(Self::Yes),
"VOTE_OPTION_ABSTAIN" => Some(Self::Abstain),
"VOTE_OPTION_NO" => Some(Self::No),
"VOTE_OPTION_NO_WITH_VETO" => Some(Self::NoWithVeto),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ProposalStatus {
Unspecified = 0,
Submitted = 1,
Accepted = 2,
Rejected = 3,
Aborted = 4,
Withdrawn = 5,
}
impl ProposalStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "PROPOSAL_STATUS_UNSPECIFIED",
Self::Submitted => "PROPOSAL_STATUS_SUBMITTED",
Self::Accepted => "PROPOSAL_STATUS_ACCEPTED",
Self::Rejected => "PROPOSAL_STATUS_REJECTED",
Self::Aborted => "PROPOSAL_STATUS_ABORTED",
Self::Withdrawn => "PROPOSAL_STATUS_WITHDRAWN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PROPOSAL_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
"PROPOSAL_STATUS_SUBMITTED" => Some(Self::Submitted),
"PROPOSAL_STATUS_ACCEPTED" => Some(Self::Accepted),
"PROPOSAL_STATUS_REJECTED" => Some(Self::Rejected),
"PROPOSAL_STATUS_ABORTED" => Some(Self::Aborted),
"PROPOSAL_STATUS_WITHDRAWN" => Some(Self::Withdrawn),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ProposalExecutorResult {
Unspecified = 0,
NotRun = 1,
Success = 2,
Failure = 3,
}
impl ProposalExecutorResult {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED",
Self::NotRun => "PROPOSAL_EXECUTOR_RESULT_NOT_RUN",
Self::Success => "PROPOSAL_EXECUTOR_RESULT_SUCCESS",
Self::Failure => "PROPOSAL_EXECUTOR_RESULT_FAILURE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED" => Some(Self::Unspecified),
"PROPOSAL_EXECUTOR_RESULT_NOT_RUN" => Some(Self::NotRun),
"PROPOSAL_EXECUTOR_RESULT_SUCCESS" => Some(Self::Success),
"PROPOSAL_EXECUTOR_RESULT_FAILURE" => Some(Self::Failure),
_ => None,
}
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EventCreateGroup {
#[prost(uint64, tag = "1")]
pub group_id: u64,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EventUpdateGroup {
#[prost(uint64, tag = "1")]
pub group_id: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventCreateGroupPolicy {
#[prost(string, tag = "1")]
pub address: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventUpdateGroupPolicy {
#[prost(string, tag = "1")]
pub address: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EventSubmitProposal {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EventWithdrawProposal {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EventVote {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventExec {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(enumeration = "ProposalExecutorResult", tag = "2")]
pub result: i32,
#[prost(string, tag = "3")]
pub logs: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventLeaveGroup {
#[prost(uint64, tag = "1")]
pub group_id: u64,
#[prost(string, tag = "2")]
pub address: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventProposalPruned {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(enumeration = "ProposalStatus", tag = "2")]
pub status: i32,
#[prost(message, optional, tag = "3")]
pub tally_result: ::core::option::Option<TallyResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventTallyError {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(string, tag = "2")]
pub error_message: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenesisState {
#[prost(uint64, tag = "1")]
pub group_seq: u64,
#[prost(message, repeated, tag = "2")]
pub groups: ::prost::alloc::vec::Vec<GroupInfo>,
#[prost(message, repeated, tag = "3")]
pub group_members: ::prost::alloc::vec::Vec<GroupMember>,
#[prost(uint64, tag = "4")]
pub group_policy_seq: u64,
#[prost(message, repeated, tag = "5")]
pub group_policies: ::prost::alloc::vec::Vec<GroupPolicyInfo>,
#[prost(uint64, tag = "6")]
pub proposal_seq: u64,
#[prost(message, repeated, tag = "7")]
pub proposals: ::prost::alloc::vec::Vec<Proposal>,
#[prost(message, repeated, tag = "8")]
pub votes: ::prost::alloc::vec::Vec<Vote>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QueryGroupInfoRequest {
#[prost(uint64, tag = "1")]
pub group_id: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGroupInfoResponse {
#[prost(message, optional, tag = "1")]
pub info: ::core::option::Option<GroupInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGroupPolicyInfoRequest {
#[prost(string, tag = "1")]
pub address: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGroupPolicyInfoResponse {
#[prost(message, optional, tag = "1")]
pub info: ::core::option::Option<GroupPolicyInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGroupMembersRequest {
#[prost(uint64, tag = "1")]
pub group_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 QueryGroupMembersResponse {
#[prost(message, repeated, tag = "1")]
pub members: ::prost::alloc::vec::Vec<GroupMember>,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGroupsByAdminRequest {
#[prost(string, tag = "1")]
pub admin: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGroupsByAdminResponse {
#[prost(message, repeated, tag = "1")]
pub groups: ::prost::alloc::vec::Vec<GroupInfo>,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGroupPoliciesByGroupRequest {
#[prost(uint64, tag = "1")]
pub group_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 QueryGroupPoliciesByGroupResponse {
#[prost(message, repeated, tag = "1")]
pub group_policies: ::prost::alloc::vec::Vec<GroupPolicyInfo>,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGroupPoliciesByAdminRequest {
#[prost(string, tag = "1")]
pub admin: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGroupPoliciesByAdminResponse {
#[prost(message, repeated, tag = "1")]
pub group_policies: ::prost::alloc::vec::Vec<GroupPolicyInfo>,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
}
#[derive(Clone, Copy, 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 QueryProposalsByGroupPolicyRequest {
#[prost(string, tag = "1")]
pub address: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryProposalsByGroupPolicyResponse {
#[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 QueryVoteByProposalVoterRequest {
#[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 QueryVoteByProposalVoterResponse {
#[prost(message, optional, tag = "1")]
pub vote: ::core::option::Option<Vote>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryVotesByProposalRequest {
#[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 QueryVotesByProposalResponse {
#[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 QueryVotesByVoterRequest {
#[prost(string, tag = "1")]
pub voter: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryVotesByVoterResponse {
#[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 QueryGroupsByMemberRequest {
#[prost(string, tag = "1")]
pub address: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGroupsByMemberResponse {
#[prost(message, repeated, tag = "1")]
pub groups: ::prost::alloc::vec::Vec<GroupInfo>,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
}
#[derive(Clone, Copy, 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 QueryGroupsRequest {
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGroupsResponse {
#[prost(message, repeated, tag = "1")]
pub groups: ::prost::alloc::vec::Vec<GroupInfo>,
#[prost(message, optional, tag = "2")]
pub pagination: ::core::option::Option<super::super::base::query::v1beta1::PageResponse>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreateGroup {
#[prost(string, tag = "1")]
pub admin: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub members: ::prost::alloc::vec::Vec<MemberRequest>,
#[prost(string, tag = "3")]
pub metadata: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgCreateGroupResponse {
#[prost(uint64, tag = "1")]
pub group_id: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgUpdateGroupMembers {
#[prost(string, tag = "1")]
pub admin: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub group_id: u64,
#[prost(message, repeated, tag = "3")]
pub member_updates: ::prost::alloc::vec::Vec<MemberRequest>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgUpdateGroupMembersResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgUpdateGroupAdmin {
#[prost(string, tag = "1")]
pub admin: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub group_id: u64,
#[prost(string, tag = "3")]
pub new_admin: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgUpdateGroupAdminResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgUpdateGroupMetadata {
#[prost(string, tag = "1")]
pub admin: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub group_id: u64,
#[prost(string, tag = "3")]
pub metadata: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgUpdateGroupMetadataResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreateGroupPolicy {
#[prost(string, tag = "1")]
pub admin: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub group_id: u64,
#[prost(string, tag = "3")]
pub metadata: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub decision_policy: ::core::option::Option<::prost_types::Any>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreateGroupPolicyResponse {
#[prost(string, tag = "1")]
pub address: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgUpdateGroupPolicyAdmin {
#[prost(string, tag = "1")]
pub admin: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub group_policy_address: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub new_admin: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgUpdateGroupPolicyAdminResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreateGroupWithPolicy {
#[prost(string, tag = "1")]
pub admin: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub members: ::prost::alloc::vec::Vec<MemberRequest>,
#[prost(string, tag = "3")]
pub group_metadata: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub group_policy_metadata: ::prost::alloc::string::String,
#[prost(bool, tag = "5")]
pub group_policy_as_admin: bool,
#[prost(message, optional, tag = "6")]
pub decision_policy: ::core::option::Option<::prost_types::Any>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreateGroupWithPolicyResponse {
#[prost(uint64, tag = "1")]
pub group_id: u64,
#[prost(string, tag = "2")]
pub group_policy_address: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgUpdateGroupPolicyDecisionPolicy {
#[prost(string, tag = "1")]
pub admin: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub group_policy_address: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub decision_policy: ::core::option::Option<::prost_types::Any>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgUpdateGroupPolicyDecisionPolicyResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgUpdateGroupPolicyMetadata {
#[prost(string, tag = "1")]
pub admin: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub group_policy_address: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub metadata: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgUpdateGroupPolicyMetadataResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgSubmitProposal {
#[prost(string, tag = "1")]
pub group_policy_address: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub proposers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "3")]
pub metadata: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "4")]
pub messages: ::prost::alloc::vec::Vec<::prost_types::Any>,
#[prost(enumeration = "Exec", tag = "5")]
pub exec: i32,
#[prost(string, tag = "6")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub summary: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgSubmitProposalResponse {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgWithdrawProposal {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(string, tag = "2")]
pub address: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgWithdrawProposalResponse {}
#[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,
#[prost(string, tag = "4")]
pub metadata: ::prost::alloc::string::String,
#[prost(enumeration = "Exec", tag = "5")]
pub exec: i32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgVoteResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgExec {
#[prost(uint64, tag = "1")]
pub proposal_id: u64,
#[prost(string, tag = "2")]
pub executor: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgExecResponse {
#[prost(enumeration = "ProposalExecutorResult", tag = "2")]
pub result: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgLeaveGroup {
#[prost(string, tag = "1")]
pub address: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub group_id: u64,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgLeaveGroupResponse {}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Exec {
Unspecified = 0,
Try = 1,
}
impl Exec {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "EXEC_UNSPECIFIED",
Self::Try => "EXEC_TRY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"EXEC_UNSPECIFIED" => Some(Self::Unspecified),
"EXEC_TRY" => Some(Self::Try),
_ => None,
}
}
}
include!("cosmos.group.v1.tonic.rs");