// @generated
// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenesisState {
    /// Genesis state from original gov module
    #[prost(message, optional, tag = "1")]
    pub gov_genesis_state:
        ::core::option::Option<super::super::super::cosmos::gov::v1::GenesisState>,
    /// Params of dgov module
    #[prost(message, optional, tag = "2")]
    pub oversight_committee_params: ::core::option::Option<OversightCommitteeParams>,
    /// Oversight committee address
    #[prost(string, tag = "3")]
    pub oversight_committee_addr: ::prost::alloc::string::String,
    /// List of disallowed message being executed by Oversight Committee members in
    /// emergancy mode
    #[prost(string, repeated, tag = "4")]
    pub oversight_committee_disallowed_list:
        ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// Flag that state was exported
    #[prost(bool, tag = "5")]
    pub exported: bool,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OversightCommitteeParams {
    /// The period in seconds, within the `Oversight Committee` group can act
    #[prost(uint64, tag = "1")]
    pub grace_period: u64,
}
/// Emitted on OversightCommitteeAddr Msg
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventOversightCommitteeAddressSet {
    /// The address of the committee member
    #[prost(string, tag = "1")]
    pub address: ::prost::alloc::string::String,
}
/// Emitted on OversightCommitteeParams Msg
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EventOversightCommitteeParamsUpdated {
    /// The new committee params
    #[prost(message, optional, tag = "1")]
    pub committee_params: ::core::option::Option<OversightCommitteeParams>,
}
/// Emitted on OversightCommitteeVeto Msg
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventOversightCommitteeVetoed {
    /// The proposal id
    #[prost(uint64, tag = "1")]
    pub proposal_id: u64,
    /// The reason for vetoing. Optional
    #[prost(string, tag = "2")]
    pub reason: ::prost::alloc::string::String,
}
/// Emitted on OversightCommitteeExec Msg
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventOversightCommitteeExecuted {
    /// Message
    #[prost(string, tag = "1")]
    pub message: ::prost::alloc::string::String,
}
/// Emitted on SetOversightCommitteeDisallowedList Msg
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventOversightCommitteeDisallowedListSet {
    /// The disallowed list
    #[prost(string, repeated, tag = "1")]
    pub disallowed_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetOversightCommitteeParamsRequest {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetOversightCommitteeAddrRequest {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetOversightCommitteeParamsResponse {
    #[prost(message, optional, tag = "1")]
    pub params: ::core::option::Option<OversightCommitteeParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetOversightCommitteeAddrResponse {
    /// Oversight committee address
    #[prost(string, tag = "3")]
    pub oversight_committee_addr: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgOversightCommitteeAddr {
    #[prost(string, tag = "1")]
    pub sender: ::prost::alloc::string::String,
    /// Address of dgov module
    #[prost(string, tag = "2")]
    pub addr: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgServiceOversightCommitteeAddrResponse {
    /// Address of dgov module
    #[prost(string, tag = "2")]
    pub addr: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgOversightCommitteeParams {
    #[prost(string, tag = "1")]
    pub sender: ::prost::alloc::string::String,
    /// Params of DGov module to change
    #[prost(message, optional, tag = "2")]
    pub params: ::core::option::Option<OversightCommitteeParams>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgServiceOversightCommitteeParamsResponse {
    #[prost(message, optional, tag = "1")]
    pub params: ::core::option::Option<OversightCommitteeParams>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgOversightCommitteeVeto {
    #[prost(string, tag = "1")]
    pub sender: ::prost::alloc::string::String,
    /// Proposal ID that is being voted on
    #[prost(uint64, tag = "2")]
    pub proposal_id: u64,
    /// Reason for vetoing. Optional
    #[prost(string, tag = "3")]
    pub reason: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgServiceOversightCommitteeVetoResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgOversightCommitteeExec {
    #[prost(string, tag = "1")]
    pub sender: ::prost::alloc::string::String,
    /// Message to be executed
    #[prost(message, optional, tag = "2")]
    pub msg: ::core::option::Option<::prost_types::Any>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgServiceOversightCommitteeExecResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgSetOversightCommitteeDisallowedList {
    #[prost(string, tag = "1")]
    pub sender: ::prost::alloc::string::String,
    /// List of messages that are disallowed to be executed through
    /// MsgOversightCommitteeExec Each element of that list is a TypeURL of
    /// ProtoMessage, like /cosmos.bank.v1beta1.MsgSend Such URL may be achived by
    /// calling MsgTypeURL from codec.types
    #[prost(string, repeated, tag = "2")]
    pub disallowed_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgServiceSetOversightCommitteeDisallowListResponse {}
include!("d.dgov.v1.tonic.rs");
// @@protoc_insertion_point(module)
