pub struct NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,{ /* private fields */ }
Implementations§
Source§impl<SA> NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
impl<SA> NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
Sourcepub fn issue(
&self,
token_type: DcdtTokenType,
issue_cost: BigUint<SA>,
token_display_name: ManagedBuffer<SA>,
token_ticker: ManagedBuffer<SA>,
num_decimals: usize,
opt_callback: Option<CallbackClosure<SA>>,
) -> !
pub fn issue( &self, token_type: DcdtTokenType, issue_cost: BigUint<SA>, token_display_name: ManagedBuffer<SA>, token_ticker: ManagedBuffer<SA>, num_decimals: usize, opt_callback: Option<CallbackClosure<SA>>, ) -> !
Important: If you use custom callback, remember to save the token ID in the callback and clear the mapper in case of error! Clear is unusable outside this specific case.
#[callback] fn my_custom_callback( &self, #[call_result] result: ManagedAsyncCallResult<()>, ) { match result { ManagedAsyncCallResult::Ok(token_id) => { self.fungible_token_mapper().set_token_id(token_id); }, ManagedAsyncCallResult::Err(_) => { self.fungible_token_mapper().clear(); }, }
If you want to use default callbacks, import the default_issue_callbacks::DefaultIssueCallbacksModule from drt-sc-modules and pass None for the opt_callback argument
Sourcepub fn issue_and_set_all_roles(
&self,
token_type: DcdtTokenType,
issue_cost: BigUint<SA>,
token_display_name: ManagedBuffer<SA>,
token_ticker: ManagedBuffer<SA>,
num_decimals: usize,
opt_callback: Option<CallbackClosure<SA>>,
) -> !
pub fn issue_and_set_all_roles( &self, token_type: DcdtTokenType, issue_cost: BigUint<SA>, token_display_name: ManagedBuffer<SA>, token_ticker: ManagedBuffer<SA>, num_decimals: usize, opt_callback: Option<CallbackClosure<SA>>, ) -> !
Important: If you use custom callback, remember to save the token ID in the callback and clear the mapper in case of error! Clear is unusable outside this specific case.
#[callback] fn my_custom_callback( &self, #[call_result] result: ManagedAsyncCallResult<()>, ) { match result { ManagedAsyncCallResult::Ok(token_id) => { self.fungible_token_mapper().set_token_id(token_id); }, ManagedAsyncCallResult::Err(_) => { self.fungible_token_mapper().clear(); }, }
If you want to use default callbacks, import the default_issue_callbacks::DefaultIssueCallbacksModule from drt-sc-modules and pass None for the opt_callback argument
pub fn clear(&mut self)
pub fn nft_create<T>(
&self,
amount: BigUint<SA>,
attributes: &T,
) -> DcdtTokenPayment<SA>where
T: TopEncode,
pub fn nft_create_named<T>(
&self,
amount: BigUint<SA>,
name: &ManagedBuffer<SA>,
attributes: &T,
) -> DcdtTokenPayment<SA>where
T: TopEncode,
pub fn nft_create_and_send<T>(
&self,
to: &ManagedAddress<SA>,
amount: BigUint<SA>,
attributes: &T,
) -> DcdtTokenPayment<SA>where
T: TopEncode,
pub fn nft_create_and_send_named<T>(
&self,
to: &ManagedAddress<SA>,
amount: BigUint<SA>,
name: &ManagedBuffer<SA>,
attributes: &T,
) -> DcdtTokenPayment<SA>where
T: TopEncode,
pub fn nft_add_quantity( &self, token_nonce: u64, amount: BigUint<SA>, ) -> DcdtTokenPayment<SA>
pub fn nft_add_quantity_and_send( &self, to: &ManagedAddress<SA>, token_nonce: u64, amount: BigUint<SA>, ) -> DcdtTokenPayment<SA>
pub fn nft_update_attributes<T>(&self, token_nonce: u64, new_attributes: &T)where
T: TopEncode,
pub fn nft_burn(&self, token_nonce: u64, amount: &BigUint<SA>)
pub fn get_all_token_data(&self, token_nonce: u64) -> DcdtTokenData<SA>
pub fn get_balance(&self, token_nonce: u64) -> BigUint<SA>
pub fn get_token_attributes<T>(&self, token_nonce: u64) -> Twhere
T: TopDecode,
Trait Implementations§
Source§impl<SA> StorageMapper<SA> for NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
impl<SA> StorageMapper<SA> for NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
Source§fn new(base_key: StorageKey<SA>) -> NonFungibleTokenMapper<SA>
fn new(base_key: StorageKey<SA>) -> NonFungibleTokenMapper<SA>
#[storage_mapper]
annotation generated code.Source§impl<SA> StorageTokenWrapper<SA> for NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
impl<SA> StorageTokenWrapper<SA> for NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
fn get_storage_key(&self) -> ManagedRef<'_, SA, StorageKey<SA>>
fn get_token_state(&self) -> TokenMapperState<SA>
fn get_token_id(&self) -> TokenIdentifier<SA>
fn get_token_id_ref(&self) -> &TokenIdentifier<SA>
fn set_token_id(&mut self, token_id: TokenIdentifier<SA>)
fn is_empty(&self) -> bool
fn set_if_empty(&mut self, token_id: TokenIdentifier<SA>)
fn require_issued_or_set(&self)
fn require_same_token(&self, expected_token_id: &TokenIdentifier<SA>)
fn require_all_same_token( &self, payments: &ManagedVec<SA, DcdtTokenPayment<SA>>, )
fn set_local_roles( &self, roles: &[DcdtLocalRole], opt_callback: Option<CallbackClosure<SA>>, ) -> !
fn set_local_roles_for_address( &self, address: &ManagedAddress<SA>, roles: &[DcdtLocalRole], opt_callback: Option<CallbackClosure<SA>>, ) -> !
fn get_sc_address() -> ManagedAddress<SA>
Source§impl<SA> TopEncodeMulti for NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
impl<SA> TopEncodeMulti for NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
Source§fn multi_encode_or_handle_err<O, H>(
&self,
output: &mut O,
h: H,
) -> Result<(), <H as EncodeErrorHandler>::HandledErr>where
O: TopEncodeMultiOutput,
H: EncodeErrorHandler,
fn multi_encode_or_handle_err<O, H>(
&self,
output: &mut O,
h: H,
) -> Result<(), <H as EncodeErrorHandler>::HandledErr>where
O: TopEncodeMultiOutput,
H: EncodeErrorHandler,
top_encode
that can handle errors as soon as they occur.
For instance in can exit immediately and make sure that if it returns, it is a success.
By not deferring error handling, this can lead to somewhat smaller bytecode.Source§fn multi_encode<O>(&self, output: &mut O) -> Result<(), EncodeError>where
O: TopEncodeMultiOutput,
fn multi_encode<O>(&self, output: &mut O) -> Result<(), EncodeError>where
O: TopEncodeMultiOutput,
Source§impl<SA> TypeAbi for NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
impl<SA> TypeAbi for NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
type Unmanaged = NonFungibleTokenMapper<SA>
fn type_name() -> String
fn type_name_rust() -> String
Source§fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
fn type_names() -> TypeNames
impl<SA> TypeAbiFrom<NonFungibleTokenMapper<SA>> for NonFungibleTokenMapper<SA>where
SA: StorageMapperApi + CallTypeApi,
impl<SA> TypeAbiFrom<NonFungibleTokenMapper<SA>> for TokenIdentifier<SA>where
SA: StorageMapperApi + CallTypeApi,
Auto Trait Implementations§
impl<SA> Freeze for NonFungibleTokenMapper<SA>
impl<SA> RefUnwindSafe for NonFungibleTokenMapper<SA>
impl<SA> Send for NonFungibleTokenMapper<SA>
impl<SA> Sync for NonFungibleTokenMapper<SA>
impl<SA> Unpin for NonFungibleTokenMapper<SA>
impl<SA> UnwindSafe for NonFungibleTokenMapper<SA>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> InterpretableFrom<T> for T
impl<T> InterpretableFrom<T> for T
fn interpret_from(from: T, _context: &InterpreterContext) -> T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more