Skip to main content

CallValueApiImpl

Trait CallValueApiImpl 

Source
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§

Source

fn check_not_payable(&self)

Source

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).

Source

fn load_all_esdt_transfers(&self, dest_handle: Self::ManagedBufferHandle)

Loads all ESDT call values into a managed vec. Overwrites destination.

Source

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.

Source

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".

Implementors§