#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EsDigitalToken {
#[prost(uint32, tag = "1")]
pub r#type: u32,
#[prost(bytes = "bytes", tag = "2")]
pub value: ::prost::bytes::Bytes,
#[prost(bytes = "bytes", tag = "3")]
pub properties: ::prost::bytes::Bytes,
#[prost(message, optional, tag = "4")]
pub token_meta_data: ::core::option::Option<MetaData>,
#[prost(bytes = "bytes", tag = "5")]
pub reserved: ::prost::bytes::Bytes,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EsdtRoles {
#[prost(bytes = "bytes", repeated, tag = "1")]
pub roles: ::prost::alloc::vec::Vec<::prost::bytes::Bytes>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MetaData {
#[prost(uint64, tag = "1")]
pub nonce: u64,
#[prost(bytes = "bytes", tag = "2")]
pub name: ::prost::bytes::Bytes,
#[prost(bytes = "bytes", tag = "3")]
pub creator: ::prost::bytes::Bytes,
#[prost(uint32, tag = "4")]
pub royalties: u32,
#[prost(bytes = "bytes", tag = "5")]
pub hash: ::prost::bytes::Bytes,
#[prost(bytes = "bytes", repeated, tag = "6")]
pub ur_is: ::prost::alloc::vec::Vec<::prost::bytes::Bytes>,
#[prost(bytes = "bytes", tag = "7")]
pub attributes: ::prost::bytes::Bytes,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MetaDataVersion {
#[prost(uint64, tag = "1")]
pub name: u64,
#[prost(uint64, tag = "2")]
pub creator: u64,
#[prost(uint64, tag = "3")]
pub royalties: u64,
#[prost(uint64, tag = "4")]
pub hash: u64,
#[prost(uint64, tag = "5")]
pub ur_is: u64,
#[prost(uint64, tag = "6")]
pub attributes: u64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Guardian {
#[prost(bytes = "bytes", tag = "1")]
pub address: ::prost::bytes::Bytes,
#[prost(uint32, tag = "2")]
pub activation_epoch: u32,
#[prost(bytes = "bytes", tag = "3")]
pub service_uid: ::prost::bytes::Bytes,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Guardians {
#[prost(message, repeated, tag = "1")]
pub slice: ::prost::alloc::vec::Vec<Guardian>,
}