#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbor {
#[prost(bytes = "vec", tag = "1")]
pub value: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenId {
#[prost(string, tag = "1")]
pub value: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenModuleRef {
#[prost(bytes = "vec", tag = "1")]
pub value: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TokenAmount {
#[prost(uint64, tag = "1")]
pub value: u64,
#[prost(uint32, tag = "2")]
pub decimals: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenState {
#[prost(message, optional, tag = "1")]
pub token_module_ref: ::core::option::Option<TokenModuleRef>,
#[prost(uint32, tag = "3")]
pub decimals: u32,
#[prost(message, optional, tag = "4")]
pub total_supply: ::core::option::Option<TokenAmount>,
#[prost(message, optional, tag = "5")]
pub module_state: ::core::option::Option<Cbor>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenAccountState {
#[prost(message, optional, tag = "1")]
pub balance: ::core::option::Option<TokenAmount>,
#[prost(message, optional, tag = "4")]
pub module_state: ::core::option::Option<Cbor>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenModuleEvent {
#[prost(string, tag = "1")]
pub r#type: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub details: ::core::option::Option<Cbor>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenHolder {
#[prost(oneof = "token_holder::Address", tags = "1")]
pub address: ::core::option::Option<token_holder::Address>,
}
pub mod token_holder {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Address {
#[prost(message, tag = "1")]
Account(super::super::AccountAddress),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenTransferEvent {
#[prost(message, optional, tag = "1")]
pub from: ::core::option::Option<TokenHolder>,
#[prost(message, optional, tag = "2")]
pub to: ::core::option::Option<TokenHolder>,
#[prost(message, optional, tag = "3")]
pub amount: ::core::option::Option<TokenAmount>,
#[prost(message, optional, tag = "4")]
pub memo: ::core::option::Option<super::Memo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenSupplyUpdateEvent {
#[prost(message, optional, tag = "1")]
pub target: ::core::option::Option<TokenHolder>,
#[prost(message, optional, tag = "2")]
pub amount: ::core::option::Option<TokenAmount>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenEvent {
#[prost(message, optional, tag = "1")]
pub token_id: ::core::option::Option<TokenId>,
#[prost(oneof = "token_event::Event", tags = "2, 3, 4, 5")]
pub event: ::core::option::Option<token_event::Event>,
}
pub mod token_event {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Event {
#[prost(message, tag = "2")]
ModuleEvent(super::TokenModuleEvent),
#[prost(message, tag = "3")]
TransferEvent(super::TokenTransferEvent),
#[prost(message, tag = "4")]
MintEvent(super::TokenSupplyUpdateEvent),
#[prost(message, tag = "5")]
BurnEvent(super::TokenSupplyUpdateEvent),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenEffect {
#[prost(message, repeated, tag = "1")]
pub events: ::prost::alloc::vec::Vec<TokenEvent>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenModuleRejectReason {
#[prost(message, optional, tag = "1")]
pub token_id: ::core::option::Option<TokenId>,
#[prost(string, tag = "2")]
pub r#type: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub details: ::core::option::Option<Cbor>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreatePlt {
#[prost(message, optional, tag = "1")]
pub token_id: ::core::option::Option<TokenId>,
#[prost(message, optional, tag = "2")]
pub token_module: ::core::option::Option<TokenModuleRef>,
#[prost(uint32, tag = "4")]
pub decimals: u32,
#[prost(message, optional, tag = "5")]
pub initialization_parameters: ::core::option::Option<Cbor>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenCreationDetails {
#[prost(message, optional, tag = "1")]
pub create_plt: ::core::option::Option<CreatePlt>,
#[prost(message, repeated, tag = "2")]
pub events: ::prost::alloc::vec::Vec<TokenEvent>,
}