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>,
contract_call: ContractCallWithMultiEsdt<Self::Api, T>,
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<T>(
&self,
original_caller: ManagedAddress<Self::Api>,
initial_payments: PaymentsVec<Self::Api>,
contract_call: ContractCallWithMultiEsdt<Self::Api, T>,
opt_custom_callback: Option<CallbackClosure<Self::Api>>
) -> !
where T: TopEncodeMulti { ... }
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>> { ... }
}