pub trait CallValueApiImpl:
ErrorApiImpl
+ ManagedTypeApiImpl
+ Sized {
// Required methods
fn check_not_payable(&self);
fn load_egld_value(&self, dest_handle: Self::BigIntHandle);
fn load_all_esdt_transfers(&self, dest_handle: Self::ManagedBufferHandle);
fn esdt_num_transfers(&self) -> usize;
fn load_all_transfers(&self, dest_handle: Self::ManagedBufferHandle);
}
Required Methods§
fn check_not_payable(&self)
Sourcefn load_egld_value(&self, dest_handle: Self::BigIntHandle)
fn load_egld_value(&self, dest_handle: Self::BigIntHandle)
Retrieves the EGLD call value from the VM. Will return 0 in case of an ESDT transfer (cannot have both EGLD and ESDT transfer simultaneously).
Sourcefn load_all_esdt_transfers(&self, dest_handle: Self::ManagedBufferHandle)
fn load_all_esdt_transfers(&self, dest_handle: Self::ManagedBufferHandle)
Loads all ESDT call values into a managed vec. Overwrites destination.
Sourcefn esdt_num_transfers(&self) -> usize
fn esdt_num_transfers(&self) -> usize
Gets the total number of ESDT transfers (Fungible/SFT/NFT).
It is redundant, since the number can also be retrieved from load_all_esdt_transfers
,
but it is easier and cheaper to call when the content of those transfers is of no interest.
Sourcefn load_all_transfers(&self, dest_handle: Self::ManagedBufferHandle)
fn load_all_transfers(&self, dest_handle: Self::ManagedBufferHandle)
Loads all EGLD+ESDT call values into a managed vec. Overwrites destination.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.