multiversx_sc_modules::transfer_role_proxy

Trait TransferRoleProxyModule

Source
pub trait TransferRoleProxyModule: ContractBase + Sized {
    // Required methods
    fn destination_whitelist(
        &self,
    ) -> UnorderedSetMapper<Self::Api, ManagedAddress<Self::Api>>;
    fn callbacks(&self) -> CallbackProxyObj<Self::Api>;

    // Provided methods
    fn transfer_to_user(
        &self,
        original_caller: ManagedAddress<Self::Api>,
        dest: ManagedAddress<Self::Api>,
        payments: &PaymentsVec<Self::Api>,
        data: ManagedBuffer<Self::Api>,
    ) -> ! { ... }
    fn transfer_to_contract_typed_call<T>(
        &self,
        original_caller: ManagedAddress<Self::Api>,
        transaction: Tx<TxScEnv<Self::Api>, (), &ManagedAddress<Self::Api>, &ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>>, (), FunctionCall<Self::Api>, ()>,
        opt_custom_callback: Option<CallbackClosure<Self::Api>>,
    ) -> !
       where T: TopEncodeMulti { ... }
    fn transfer_to_contract_raw(
        &self,
        original_caller: ManagedAddress<Self::Api>,
        dest: ManagedAddress<Self::Api>,
        payments: &PaymentsVec<Self::Api>,
        endpoint_name: ManagedBuffer<Self::Api>,
        args: ManagedArgBuffer<Self::Api>,
        opt_custom_callback: Option<CallbackClosure<Self::Api>>,
    ) -> ! { ... }
    fn execute_async_call(
        &self,
        original_caller: ManagedAddress<Self::Api>,
        initial_payments: &PaymentsVec<Self::Api>,
        transaction: Tx<TxScEnv<Self::Api>, (), &ManagedAddress<Self::Api>, &ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>>, (), FunctionCall<Self::Api>, ()>,
        opt_custom_callback: Option<CallbackClosure<Self::Api>>,
    ) -> ! { ... }
    fn transfer_callback(
        &self,
        original_caller: ManagedAddress<Self::Api>,
        initial_payments: ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>>,
        result: ManagedAsyncCallResult<Self::Api, MultiValueEncoded<Self::Api, ManagedBuffer<Self::Api>>>,
    ) -> MultiValueEncoded<Self::Api, ManagedBuffer<Self::Api>> { ... }
}

Required Methods§

Provided Methods§

Source

fn transfer_to_user( &self, original_caller: ManagedAddress<Self::Api>, dest: ManagedAddress<Self::Api>, payments: &PaymentsVec<Self::Api>, data: ManagedBuffer<Self::Api>, ) -> !

Source

fn transfer_to_contract_typed_call<T>( &self, original_caller: ManagedAddress<Self::Api>, transaction: Tx<TxScEnv<Self::Api>, (), &ManagedAddress<Self::Api>, &ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>>, (), FunctionCall<Self::Api>, ()>, opt_custom_callback: Option<CallbackClosure<Self::Api>>, ) -> !
where T: TopEncodeMulti,

Source

fn transfer_to_contract_raw( &self, original_caller: ManagedAddress<Self::Api>, dest: ManagedAddress<Self::Api>, payments: &PaymentsVec<Self::Api>, endpoint_name: ManagedBuffer<Self::Api>, args: ManagedArgBuffer<Self::Api>, opt_custom_callback: Option<CallbackClosure<Self::Api>>, ) -> !

Source

fn execute_async_call( &self, original_caller: ManagedAddress<Self::Api>, initial_payments: &PaymentsVec<Self::Api>, transaction: Tx<TxScEnv<Self::Api>, (), &ManagedAddress<Self::Api>, &ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>>, (), FunctionCall<Self::Api>, ()>, opt_custom_callback: Option<CallbackClosure<Self::Api>>, ) -> !

Source

fn transfer_callback( &self, original_caller: ManagedAddress<Self::Api>, initial_payments: ManagedVec<Self::Api, EsdtTokenPayment<Self::Api>>, result: ManagedAsyncCallResult<Self::Api, MultiValueEncoded<Self::Api, ManagedBuffer<Self::Api>>>, ) -> MultiValueEncoded<Self::Api, ManagedBuffer<Self::Api>>

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.

Implementors§