ibc-proto 0.52.0

ibc-proto provides Cosmos SDK & IBC Protocol Buffers definitions
Documentation
// This file is @generated by prost-build.
/// GenesisState defines the interchain accounts genesis state
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenesisState {
    #[prost(message, optional, tag = "1")]
    pub controller_genesis_state: ::core::option::Option<ControllerGenesisState>,
    #[prost(message, optional, tag = "2")]
    pub host_genesis_state: ::core::option::Option<HostGenesisState>,
}
impl ::prost::Name for GenesisState {
    const NAME: &'static str = "GenesisState";
    const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1";
    fn full_name() -> ::prost::alloc::string::String {
        "ibc.applications.interchain_accounts.genesis.v1.GenesisState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/ibc.applications.interchain_accounts.genesis.v1.GenesisState".into()
    }
}
/// ControllerGenesisState defines the interchain accounts controller genesis state
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ControllerGenesisState {
    #[prost(message, repeated, tag = "1")]
    pub active_channels: ::prost::alloc::vec::Vec<ActiveChannel>,
    #[prost(message, repeated, tag = "2")]
    pub interchain_accounts: ::prost::alloc::vec::Vec<RegisteredInterchainAccount>,
    #[prost(string, repeated, tag = "3")]
    pub ports: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(message, optional, tag = "4")]
    pub params: ::core::option::Option<super::super::controller::v1::Params>,
}
impl ::prost::Name for ControllerGenesisState {
    const NAME: &'static str = "ControllerGenesisState";
    const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1";
    fn full_name() -> ::prost::alloc::string::String {
        "ibc.applications.interchain_accounts.genesis.v1.ControllerGenesisState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/ibc.applications.interchain_accounts.genesis.v1.ControllerGenesisState".into()
    }
}
/// HostGenesisState defines the interchain accounts host genesis state
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HostGenesisState {
    #[prost(message, repeated, tag = "1")]
    pub active_channels: ::prost::alloc::vec::Vec<ActiveChannel>,
    #[prost(message, repeated, tag = "2")]
    pub interchain_accounts: ::prost::alloc::vec::Vec<RegisteredInterchainAccount>,
    #[prost(string, tag = "3")]
    pub port: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "4")]
    pub params: ::core::option::Option<super::super::host::v1::Params>,
}
impl ::prost::Name for HostGenesisState {
    const NAME: &'static str = "HostGenesisState";
    const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1";
    fn full_name() -> ::prost::alloc::string::String {
        "ibc.applications.interchain_accounts.genesis.v1.HostGenesisState".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/ibc.applications.interchain_accounts.genesis.v1.HostGenesisState".into()
    }
}
/// ActiveChannel contains a connection ID, port ID and associated active channel ID, as well as a boolean flag to
/// indicate if the channel is middleware enabled
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActiveChannel {
    #[prost(string, tag = "1")]
    pub connection_id: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub port_id: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub channel_id: ::prost::alloc::string::String,
    #[prost(bool, tag = "4")]
    pub is_middleware_enabled: bool,
}
impl ::prost::Name for ActiveChannel {
    const NAME: &'static str = "ActiveChannel";
    const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1";
    fn full_name() -> ::prost::alloc::string::String {
        "ibc.applications.interchain_accounts.genesis.v1.ActiveChannel".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/ibc.applications.interchain_accounts.genesis.v1.ActiveChannel".into()
    }
}
/// RegisteredInterchainAccount contains a connection ID, port ID and associated interchain account address
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RegisteredInterchainAccount {
    #[prost(string, tag = "1")]
    pub connection_id: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub port_id: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub account_address: ::prost::alloc::string::String,
}
impl ::prost::Name for RegisteredInterchainAccount {
    const NAME: &'static str = "RegisteredInterchainAccount";
    const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1";
    fn full_name() -> ::prost::alloc::string::String {
        "ibc.applications.interchain_accounts.genesis.v1.RegisteredInterchainAccount"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/ibc.applications.interchain_accounts.genesis.v1.RegisteredInterchainAccount"
            .into()
    }
}