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