multiversx_sc::types

Struct NotPayable

Source
pub struct NotPayable;
Expand description

Transaction marker, which indicates that a transaction should never have any payment added to it.

The implementation is completely identical to the empty payment (), the only difference is that the payment methods in Tx can only be called on top of () payment, not NotPayable.

So basically, NotPayable acts as a seal, preventing further payments to be added.

Trait Implementations§

Source§

impl<Env> AnnotatedValue<Env, BigUint<<Env as TxEnv>::Api>> for NotPayable
where Env: TxEnv,

Source§

fn annotation(&self, _env: &Env) -> ManagedBuffer<Env::Api>

Source§

fn to_value(&self, _env: &Env) -> BigUint<Env::Api>

Produces the value from a reference of the annotated type. Might involve a .clone() in some cases.
Source§

fn into_value(self, env: &Env) -> T

Consumes annotated value to produce actual value. Read more
Source§

fn with_value_ref<F, R>(&self, env: &Env, f: F) -> R
where F: FnOnce(&T) -> R,

Can be used when working with references only. Read more
Source§

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

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::Api>, gas_limit: u64, fc: FunctionCall<Env::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::Api>, f: F, ) -> R
where From: TxFrom<Env>, To: TxToSpecified<Env>, F: FnOnce(&ManagedAddress<Env::Api>, &BigUint<Env::Api>, FunctionCall<Env::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::Api>

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

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

Source§

fn with_egld_value<F, R>(&self, env: &Env, f: F) -> R
where F: FnOnce(&BigUint<Env::Api>) -> R,

Source§

fn into_egld_payment(self, env: &Env) -> BigUint<Env::Api>

Source§

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

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.