// @generated
// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Params {
    #[prost(string, tag = "1")]
    pub platform_admin: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Depository {
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub owner: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub pauser: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub region: ::prost::alloc::string::String,
    #[prost(bool, tag = "5")]
    pub paused: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GlobalNote {
    #[prost(string, tag = "1")]
    pub isin: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub depository_id: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub spv_issuer: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub global_note_hash: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub total_supply: ::prost::alloc::string::String,
    /// Asset identification
    #[prost(uint64, tag = "6")]
    pub asset_type_id: u64,
    #[prost(string, tag = "7")]
    pub notarised_asset_id: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PtTransferability {
    #[prost(bool, tag = "1")]
    pub paused: bool,
    #[prost(bool, tag = "2")]
    pub restrict_send: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PtHolder {
    #[prost(string, tag = "1")]
    pub holder: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub amount: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LatestPtHolders {
    #[prost(string, tag = "1")]
    pub isin: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "2")]
    pub holders: ::prost::alloc::vec::Vec<PtHolder>,
}
/// GenesisState defines the depository's module's genesis state.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenesisState {
    #[prost(message, optional, tag = "1")]
    pub params: ::core::option::Option<Params>,
    #[prost(message, repeated, tag = "2")]
    pub depositories: ::prost::alloc::vec::Vec<Depository>,
    #[prost(message, repeated, tag = "3")]
    pub global_notes: ::prost::alloc::vec::Vec<GlobalNote>,
    #[prost(uint64, tag = "4")]
    pub depository_counter: u64,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QueryGetParamsRequest {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGetParamsResponse {
    #[prost(message, optional, tag = "1")]
    pub params: ::core::option::Option<Params>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGetDepositoryRequest {
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGetDepositoryResponse {
    #[prost(message, optional, tag = "1")]
    pub depository: ::core::option::Option<Depository>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGetGlobalNoteByIsinRequest {
    #[prost(string, tag = "1")]
    pub isin: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGetGlobalNoteByIsinResponse {
    #[prost(message, optional, tag = "1")]
    pub global_note: ::core::option::Option<GlobalNote>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGetGlobalNotesForSpvIssuerRequest {
    #[prost(string, tag = "1")]
    pub spv_issuer: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGetGlobalNotesForSpvIssuerResponse {
    #[prost(message, repeated, tag = "1")]
    pub global_notes: ::prost::alloc::vec::Vec<GlobalNote>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGetDenomWithIsinRequest {
    #[prost(string, tag = "1")]
    pub isin: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryGetDenomWithIsinResponse {
    #[prost(string, tag = "1")]
    pub denom: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgRegisterDepository {
    #[prost(string, tag = "1")]
    pub admin: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub owner: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub pauser: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub region: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgRegisterDepositoryResponse {
    #[prost(string, tag = "1")]
    pub depository_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgUpdateDepositoryParams {
    #[prost(string, tag = "1")]
    pub owner: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub depository_id: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub new_owner: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub new_pauser: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgUpdateDepositoryParamsResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgPauseDepository {
    #[prost(string, tag = "1")]
    pub pauser: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub depository_id: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgPauseDepositoryResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgUnpauseDepository {
    #[prost(string, tag = "1")]
    pub pauser: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub depository_id: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgUnpauseDepositoryResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgAddAuthoriseIssuer {
    #[prost(string, tag = "1")]
    pub owner: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub depository_id: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub spv_issuer: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgAddAuthoriseIssuerResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgRemoveAuthoriseIssuer {
    #[prost(string, tag = "1")]
    pub owner: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub depository_id: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub spv_issuer: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgRemoveAuthoriseIssuerResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgIssuePtWithGlobalNote {
    #[prost(string, tag = "1")]
    pub spv_issuer: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub depository_id: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub isin: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub global_note_hash: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub total_supply: ::prost::alloc::string::String,
    /// Asset identification
    #[prost(uint64, tag = "6")]
    pub asset_type_id: u64,
    #[prost(string, tag = "7")]
    pub notarised_asset_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgIssuePtWithGlobalNoteResponse {
    #[prost(message, optional, tag = "1")]
    pub global_note: ::core::option::Option<GlobalNote>,
    #[prost(string, tag = "2")]
    pub pt_denom: ::prost::alloc::string::String,
}
/// The sender must also send the PTs to be redeemed along with this message
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgSurrenderGlobalNote {
    #[prost(string, tag = "1")]
    pub spv_issuer: ::prost::alloc::string::String,
    /// The ISIN of the global note to surrender
    #[prost(string, tag = "2")]
    pub isin: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgSurrenderGlobalNoteResponse {
    #[prost(message, optional, tag = "1")]
    pub total_burnt: ::core::option::Option<super::super::super::cosmos::base::v1beta1::Coin>,
    #[prost(message, optional, tag = "2")]
    pub latest_pt_holders: ::core::option::Option<LatestPtHolders>,
}
include!("d.depository.v1.tonic.rs");
// @@protoc_insertion_point(module)
