pub struct ESDTSystemSCProxyMethods<Env, From, To, Gas>{ /* private fields */ }
Expand description
Method container of the ESDT system smart contract proxy.
Implementations§
Source§impl<Env, From, To, Gas> ESDTSystemSCProxyMethods<Env, From, To, Gas>
impl<Env, From, To, Gas> ESDTSystemSCProxyMethods<Env, From, To, Gas>
Sourcepub fn issue_fungible<Arg0, Arg1, Arg2>(
self,
issue_cost: BigUint<<Env as TxEnv>::Api>,
token_display_name: Arg0,
token_ticker: Arg1,
initial_supply: Arg2,
properties: FungibleTokenProperties,
) -> Tx<Env, From, To, Egld<BigUint<<Env as TxEnv>::Api>>, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<TokenIdentifier<<Env as TxEnv>::Api>>>
pub fn issue_fungible<Arg0, Arg1, Arg2>( self, issue_cost: BigUint<<Env as TxEnv>::Api>, token_display_name: Arg0, token_ticker: Arg1, initial_supply: Arg2, properties: FungibleTokenProperties, ) -> Tx<Env, From, To, Egld<BigUint<<Env as TxEnv>::Api>>, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<TokenIdentifier<<Env as TxEnv>::Api>>>
Produces a contract call to the ESDT system SC, which causes it to issue a new fungible ESDT token.
Sourcepub fn issue_non_fungible<Arg0, Arg1>(
self,
issue_cost: BigUint<<Env as TxEnv>::Api>,
token_display_name: Arg0,
token_ticker: Arg1,
properties: NonFungibleTokenProperties,
) -> Tx<Env, From, To, Egld<BigUint<<Env as TxEnv>::Api>>, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<TokenIdentifier<<Env as TxEnv>::Api>>>where
Arg0: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
pub fn issue_non_fungible<Arg0, Arg1>(
self,
issue_cost: BigUint<<Env as TxEnv>::Api>,
token_display_name: Arg0,
token_ticker: Arg1,
properties: NonFungibleTokenProperties,
) -> Tx<Env, From, To, Egld<BigUint<<Env as TxEnv>::Api>>, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<TokenIdentifier<<Env as TxEnv>::Api>>>where
Arg0: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
Produces a contract call to the ESDT system SC, which causes it to issue a new non-fungible ESDT token.
Sourcepub fn issue_semi_fungible<Arg0, Arg1>(
self,
issue_cost: BigUint<<Env as TxEnv>::Api>,
token_display_name: Arg0,
token_ticker: Arg1,
properties: SemiFungibleTokenProperties,
) -> Tx<Env, From, To, Egld<BigUint<<Env as TxEnv>::Api>>, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<TokenIdentifier<<Env as TxEnv>::Api>>>where
Arg0: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
pub fn issue_semi_fungible<Arg0, Arg1>(
self,
issue_cost: BigUint<<Env as TxEnv>::Api>,
token_display_name: Arg0,
token_ticker: Arg1,
properties: SemiFungibleTokenProperties,
) -> Tx<Env, From, To, Egld<BigUint<<Env as TxEnv>::Api>>, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<TokenIdentifier<<Env as TxEnv>::Api>>>where
Arg0: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
Produces a contract call to the ESDT system SC, which causes it to issue a new semi-fungible ESDT token.
Sourcepub fn register_meta_esdt<Arg0, Arg1>(
self,
issue_cost: BigUint<<Env as TxEnv>::Api>,
token_display_name: Arg0,
token_ticker: Arg1,
properties: MetaTokenProperties,
) -> Tx<Env, From, To, Egld<BigUint<<Env as TxEnv>::Api>>, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<TokenIdentifier<<Env as TxEnv>::Api>>>where
Arg0: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
pub fn register_meta_esdt<Arg0, Arg1>(
self,
issue_cost: BigUint<<Env as TxEnv>::Api>,
token_display_name: Arg0,
token_ticker: Arg1,
properties: MetaTokenProperties,
) -> Tx<Env, From, To, Egld<BigUint<<Env as TxEnv>::Api>>, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<TokenIdentifier<<Env as TxEnv>::Api>>>where
Arg0: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
Produces a contract call to the ESDT system SC, which causes it to register a new Meta ESDT token.
pub fn issue_and_set_all_roles<Arg0, Arg1>(
self,
issue_cost: BigUint<<Env as TxEnv>::Api>,
token_display_name: Arg0,
token_ticker: Arg1,
token_type: EsdtTokenType,
num_decimals: usize,
) -> Tx<Env, From, To, Egld<BigUint<<Env as TxEnv>::Api>>, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<TokenIdentifier<<Env as TxEnv>::Api>>>where
Arg0: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
Sourcepub fn issue_dynamic<Arg0, Arg1>(
self,
issue_cost: BigUint<<Env as TxEnv>::Api>,
token_display_name: Arg0,
token_ticker: Arg1,
token_type: EsdtTokenType,
num_decimals: usize,
) -> Tx<Env, From, To, Egld<BigUint<<Env as TxEnv>::Api>>, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<TokenIdentifier<<Env as TxEnv>::Api>>>where
Arg0: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
pub fn issue_dynamic<Arg0, Arg1>(
self,
issue_cost: BigUint<<Env as TxEnv>::Api>,
token_display_name: Arg0,
token_ticker: Arg1,
token_type: EsdtTokenType,
num_decimals: usize,
) -> Tx<Env, From, To, Egld<BigUint<<Env as TxEnv>::Api>>, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<TokenIdentifier<<Env as TxEnv>::Api>>>where
Arg0: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedBuffer<<Env as TxEnv>::Api>>,
Issues dynamic ESDT tokens
Sourcepub fn mint<Arg0, Arg1>(
self,
token_identifier: Arg0,
amount: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
pub fn mint<Arg0, Arg1>( self, token_identifier: Arg0, amount: Arg1, ) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
Produces a contract call to the ESDT system SC, which causes it to mint more fungible ESDT tokens. It will fail if the SC is not the owner of the token.
Sourcepub fn burn<Arg0, Arg1>(
self,
token_identifier: Arg0,
amount: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
pub fn burn<Arg0, Arg1>( self, token_identifier: Arg0, amount: Arg1, ) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
Produces a contract call to the ESDT system SC, which causes it to burn fungible ESDT tokens owned by the SC.
Sourcepub fn pause<Arg0>(
self,
token_identifier: Arg0,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
pub fn pause<Arg0>( self, token_identifier: Arg0, ) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
The manager of an ESDT token may choose to suspend all transactions of the token, except minting, freezing/unfreezing and wiping.
Sourcepub fn unpause<Arg0>(
self,
token_identifier: Arg0,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
pub fn unpause<Arg0>( self, token_identifier: Arg0, ) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
The reverse operation of pause
.
Sourcepub fn freeze<Arg0, Arg1>(
self,
token_identifier: Arg0,
address: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
Arg0: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
pub fn freeze<Arg0, Arg1>(
self,
token_identifier: Arg0,
address: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
Arg0: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
The manager of an ESDT token may freeze the tokens held by a specific account. As a consequence, no tokens may be transferred to or from the frozen account. Freezing and unfreezing the tokens of an account are operations designed to help token managers to comply with regulations.
Sourcepub fn unfreeze<Arg0, Arg1>(
self,
token_identifier: Arg0,
address: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
Arg0: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
pub fn unfreeze<Arg0, Arg1>(
self,
token_identifier: Arg0,
address: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
Arg0: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
The reverse operation of freeze
, unfreezing, will allow further transfers to and from the account.
Sourcepub fn wipe<Arg0, Arg1>(
self,
token_identifier: Arg0,
address: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
Arg0: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
pub fn wipe<Arg0, Arg1>(
self,
token_identifier: Arg0,
address: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
Arg0: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
The manager of an ESDT token may wipe out all the tokens held by a frozen account. This operation is similar to burning the tokens, but the account must have been frozen beforehand, and it must be done by the token manager. Wiping the tokens of an account is an operation designed to help token managers to comply with regulations.
Sourcepub fn freeze_nft<Arg0, Arg1>(
self,
token_identifier: Arg0,
nft_nonce: u64,
address: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
Arg0: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
pub fn freeze_nft<Arg0, Arg1>(
self,
token_identifier: Arg0,
nft_nonce: u64,
address: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
Arg0: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
The manager of an ESDT token may freeze the NFT held by a specific Account. As a consequence, no NFT can be transferred to or from the frozen Account. Freezing and unfreezing a single NFT of an Account are operations designed to help token managers to comply with regulations.
Sourcepub fn unfreeze_nft<Arg0, Arg1>(
self,
token_identifier: Arg0,
nft_nonce: u64,
address: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
Arg0: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
pub fn unfreeze_nft<Arg0, Arg1>(
self,
token_identifier: Arg0,
nft_nonce: u64,
address: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
Arg0: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
The reverse operation of freeze
, unfreezing, will allow further transfers to and from the account.
Sourcepub fn wipe_nft<Arg0, Arg1>(
self,
token_identifier: Arg0,
nft_nonce: u64,
address: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
Arg0: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
pub fn wipe_nft<Arg0, Arg1>(
self,
token_identifier: Arg0,
nft_nonce: u64,
address: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
Arg0: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
The manager of an ESDT token may wipe out a single NFT held by a frozen Account. This operation is similar to burning the quantity, but the Account must have been frozen beforehand, and it must be done by the token manager. Wiping the tokens of an Account is an operation designed to help token managers to comply with regulations.
Sourcepub fn change_sft_to_meta_esdt<Arg0>(
self,
token_identifier: Arg0,
num_decimals: usize,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
pub fn change_sft_to_meta_esdt<Arg0>( self, token_identifier: Arg0, num_decimals: usize, ) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
This function converts an SFT to a metaESDT by adding decimals to its structure in the metachain ESDT System SC. This function as almost all in case of ESDT can be called only by the owner.
Sourcepub fn set_special_roles<RoleIter, Arg0, Arg1>(
self,
address: Arg0,
token_identifier: Arg1,
roles_iter: RoleIter,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
RoleIter: Iterator<Item = EsdtLocalRole>,
Arg0: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
pub fn set_special_roles<RoleIter, Arg0, Arg1>(
self,
address: Arg0,
token_identifier: Arg1,
roles_iter: RoleIter,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
RoleIter: Iterator<Item = EsdtLocalRole>,
Arg0: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
This function can be called only if canSetSpecialRoles was set to true. The metachain system SC will evaluate the arguments and call “ESDTSetRole@tokenId@listOfRoles” for the given address. This will be actually a cross shard call. This function as almost all in case of ESDT can be called only by the owner.
Sourcepub fn unset_special_roles<RoleIter, Arg0, Arg1>(
self,
address: Arg0,
token_identifier: Arg1,
roles_iter: RoleIter,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
RoleIter: Iterator<Item = EsdtLocalRole>,
Arg0: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
pub fn unset_special_roles<RoleIter, Arg0, Arg1>(
self,
address: Arg0,
token_identifier: Arg1,
roles_iter: RoleIter,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
RoleIter: Iterator<Item = EsdtLocalRole>,
Arg0: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
This function can be called only if canSetSpecialRoles was set to true. The metachain system SC will evaluate the arguments and call “ESDTUnsetRole@tokenId@listOfRoles” for the given address. This will be actually a cross shard call. This function as almost all in case of ESDT can be called only by the owner.
pub fn transfer_ownership<Arg0, Arg1>(
self,
token_identifier: Arg0,
new_owner: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
Arg0: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
pub fn transfer_nft_create_role<Arg0, Arg1>(
self,
token_identifier: Arg0,
old_creator: Arg1,
new_creator: Arg1,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>where
Arg0: ProxyArg<TokenIdentifier<<Env as TxEnv>::Api>>,
Arg1: ProxyArg<ManagedAddress<<Env as TxEnv>::Api>>,
pub fn control_changes<Arg0>( self, token_identifier: Arg0, property_arguments: &TokenPropertyArguments, ) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
Sourcepub fn change_to_dynamic<Arg0>(
self,
token_id: Arg0,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
pub fn change_to_dynamic<Arg0>( self, token_id: Arg0, ) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
Changes token to dynamic. Does not work for: FungibleESDT, NonFungibleESDT, NonFungibleESDTv2.
Sourcepub fn update_token<Arg0>(
self,
token_id: Arg0,
) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
pub fn update_token<Arg0>( self, token_id: Arg0, ) -> Tx<Env, From, To, NotPayable, Gas, FunctionCall<<Env as TxEnv>::Api>, OriginalResultMarker<()>>
Updates a specific token to the newest version.
Auto Trait Implementations§
impl<Env, From, To, Gas> Freeze for ESDTSystemSCProxyMethods<Env, From, To, Gas>
impl<Env, From, To, Gas> RefUnwindSafe for ESDTSystemSCProxyMethods<Env, From, To, Gas>
impl<Env, From, To, Gas> Send for ESDTSystemSCProxyMethods<Env, From, To, Gas>
impl<Env, From, To, Gas> Sync for ESDTSystemSCProxyMethods<Env, From, To, Gas>
impl<Env, From, To, Gas> Unpin for ESDTSystemSCProxyMethods<Env, From, To, Gas>
impl<Env, From, To, Gas> UnwindSafe for ESDTSystemSCProxyMethods<Env, From, To, Gas>
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