multiversx_sc_scenario::imports

Trait TxPayment

Source
pub trait TxPayment<Env>
where Env: TxEnv,
{ // Required methods fn is_no_payment(&self, env: &Env) -> bool; fn perform_transfer_execute( self, env: &Env, to: &ManagedAddress<<Env as TxEnv>::Api>, gas_limit: u64, fc: FunctionCall<<Env as TxEnv>::Api>, ); fn with_normalized<From, To, F, R>( self, env: &Env, from: &From, to: To, fc: FunctionCall<<Env as TxEnv>::Api>, f: F, ) -> R where From: TxFrom<Env>, To: TxToSpecified<Env>, F: FnOnce(&ManagedAddress<<Env as TxEnv>::Api>, &BigUint<<Env as TxEnv>::Api>, FunctionCall<<Env as TxEnv>::Api>) -> R; fn into_full_payment_data( self, env: &Env, ) -> FullPaymentData<<Env as TxEnv>::Api>; }
Expand description

Describes a payment that is part of a transaction.

Required Methods§

Source

fn is_no_payment(&self, env: &Env) -> bool

Returns true if payment indicates transfer of either non-zero EGLD or ESDT amounts.

Source

fn perform_transfer_execute( self, env: &Env, to: &ManagedAddress<<Env as TxEnv>::Api>, gas_limit: u64, fc: FunctionCall<<Env as TxEnv>::Api>, )

Transfer-execute calls have different APIs for different payments types. This method selects between them.

Source

fn with_normalized<From, To, F, R>( self, env: &Env, from: &From, to: To, fc: FunctionCall<<Env as TxEnv>::Api>, f: F, ) -> R
where From: TxFrom<Env>, To: TxToSpecified<Env>, F: FnOnce(&ManagedAddress<<Env as TxEnv>::Api>, &BigUint<<Env as TxEnv>::Api>, FunctionCall<<Env as TxEnv>::Api>) -> R,

Converts an ESDT call to a built-in function call, if necessary.

Source

fn into_full_payment_data( self, env: &Env, ) -> FullPaymentData<<Env as TxEnv>::Api>

Payment data to be used by the testing framework. Will be refactored.

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.

Implementations on Foreign Types§

Source§

impl<Env> TxPayment<Env> for (TokenIdentifier<<Env as TxEnv>::Api>, u64, BigUint<<Env as TxEnv>::Api>)
where Env: TxEnv,

Source§

fn is_no_payment(&self, _env: &Env) -> bool

Source§

fn perform_transfer_execute( self, env: &Env, to: &ManagedAddress<<Env as TxEnv>::Api>, gas_limit: u64, fc: FunctionCall<<Env as TxEnv>::Api>, )

Source§

fn with_normalized<From, To, F, R>( self, env: &Env, from: &From, to: To, fc: FunctionCall<<Env as TxEnv>::Api>, f: F, ) -> R
where From: TxFrom<Env>, To: TxToSpecified<Env>, F: FnOnce(&ManagedAddress<<Env as TxEnv>::Api>, &BigUint<<Env as TxEnv>::Api>, FunctionCall<<Env as TxEnv>::Api>) -> R,

Source§

fn into_full_payment_data( self, env: &Env, ) -> FullPaymentData<<Env as TxEnv>::Api>

Source§

impl<Env> TxPayment<Env> for ()
where Env: TxEnv,

Source§

fn is_no_payment(&self, _env: &Env) -> bool

Source§

fn perform_transfer_execute( self, env: &Env, to: &ManagedAddress<<Env as TxEnv>::Api>, gas_limit: u64, fc: FunctionCall<<Env as TxEnv>::Api>, )

Source§

fn with_normalized<From, To, F, R>( self, env: &Env, _from: &From, to: To, fc: FunctionCall<<Env as TxEnv>::Api>, f: F, ) -> R
where From: TxFrom<Env>, To: TxToSpecified<Env>, F: FnOnce(&ManagedAddress<<Env as TxEnv>::Api>, &BigUint<<Env as TxEnv>::Api>, FunctionCall<<Env as TxEnv>::Api>) -> R,

Source§

fn into_full_payment_data( self, _env: &Env, ) -> FullPaymentData<<Env as TxEnv>::Api>

Implementors§

Source§

impl<Env> TxPayment<Env> for &EgldOrMultiEsdtPayment<<Env as TxEnv>::Api>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for &EgldOrEsdtTokenPayment<<Env as TxEnv>::Api>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for &EsdtTokenPayment<<Env as TxEnv>::Api>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for &ManagedVec<<Env as TxEnv>::Api, EgldOrEsdtTokenPayment<<Env as TxEnv>::Api>>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for &ManagedVec<<Env as TxEnv>::Api, EsdtTokenPayment<<Env as TxEnv>::Api>>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for EgldOrMultiEsdtPayment<<Env as TxEnv>::Api>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for EgldOrMultiEsdtPaymentRefs<'_, <Env as TxEnv>::Api>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for EgldOrEsdtTokenPayment<<Env as TxEnv>::Api>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for EgldOrEsdtTokenPaymentRefs<'_, <Env as TxEnv>::Api>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for EsdtTokenPayment<<Env as TxEnv>::Api>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for EsdtTokenPaymentRefs<'_, <Env as TxEnv>::Api>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for ManagedRef<'_, <Env as TxEnv>::Api, ManagedVec<<Env as TxEnv>::Api, EgldOrEsdtTokenPayment<<Env as TxEnv>::Api>>>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for ManagedRef<'_, <Env as TxEnv>::Api, ManagedVec<<Env as TxEnv>::Api, EsdtTokenPayment<<Env as TxEnv>::Api>>>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for ManagedVec<<Env as TxEnv>::Api, EgldOrEsdtTokenPayment<<Env as TxEnv>::Api>>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for ManagedVec<<Env as TxEnv>::Api, EsdtTokenPayment<<Env as TxEnv>::Api>>
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for NotPayable
where Env: TxEnv,

Source§

impl<Env> TxPayment<Env> for TestEsdtTransfer<'_>
where Env: TxEnv,

Source§

impl<Env, EgldValue> TxPayment<Env> for Egld<EgldValue>
where Env: TxEnv, EgldValue: TxEgldValue<Env>,