multiversx_sc_scenario::imports

Struct ContractCallNoPayment

Source
pub struct ContractCallNoPayment<SA, OriginalResult>
where SA: CallTypeApi + 'static,
{ pub to: ManagedAddress<SA>, pub function_call: FunctionCall<SA>, pub explicit_gas_limit: u64, /* private fields */ }
👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.
Expand description

Holds metadata for calling another contract, without payments.

Proxies generally create contract calls of this type (unless there are payment arguments in the endpoint - but these are mostly obsolete now).

It is also the basis for all other contract call types, all of them contain this one.

Fields§

§to: ManagedAddress<SA>
👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.
§function_call: FunctionCall<SA>
👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.
§explicit_gas_limit: u64
👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.

Implementations§

Source§

impl<SA, OriginalResult> ContractCallNoPayment<SA, OriginalResult>
where SA: CallTypeApi + 'static,

Source

pub fn new<N>( to: ManagedAddress<SA>, endpoint_name: N, ) -> ContractCallNoPayment<SA, OriginalResult>
where N: Into<ManagedBuffer<SA>>,

Source

pub fn with_egld_transfer( self, egld_amount: BigUint<SA>, ) -> ContractCallWithEgld<SA, OriginalResult>

Sets payment to be EGLD transfer.

Source

pub fn with_esdt_transfer<P>( self, payment: P, ) -> ContractCallWithMultiEsdt<SA, OriginalResult>
where P: Into<EsdtTokenPayment<SA>>,

Adds a single ESDT token transfer to a contract call.

Can be called multiple times on the same call.

Source

pub fn add_esdt_token_transfer( self, payment_token: TokenIdentifier<SA>, payment_nonce: u64, payment_amount: BigUint<SA>, ) -> ContractCallWithMultiEsdt<SA, OriginalResult>

👎Deprecated since 0.39.0: Replace by contract_call.with_esdt_transfer((payment_token, payment_nonce, payment_amount)). The tuple argument will get automatically converted to EsdtTokenPayment.
Source

pub fn with_multi_token_transfer( self, payments: ManagedVec<SA, EsdtTokenPayment<SA>>, ) -> ContractCallWithMultiEsdt<SA, OriginalResult>

Sets payment to be a (potentially) multi-token transfer.

Source

pub fn with_any_payment( self, payment: EgldOrMultiEsdtPayment<SA>, ) -> ContractCallWithAnyPayment<SA, OriginalResult>

Sets payment to be a (potentially) multi-token transfer.

Source

pub fn with_egld_or_single_esdt_transfer<P>( self, payment: P, ) -> ContractCallWithEgldOrSingleEsdt<SA, OriginalResult>

Sets payment to be either EGLD or a single ESDT transfer, as determined at runtime.

Source

pub fn with_egld_or_single_esdt_token_transfer( self, payment_token: EgldOrEsdtTokenIdentifier<SA>, payment_nonce: u64, payment_amount: BigUint<SA>, ) -> ContractCallWithEgldOrSingleEsdt<SA, OriginalResult>

👎Deprecated since 0.39.0: Replace by contract_call.with_egld_or_single_esdt_transfer((payment_token, payment_nonce, payment_amount)).
Source

pub fn into_function_call(self) -> FunctionCall<SA>

Source

pub fn tx(self) -> Tx<TxScEnv<SA>, (), (), (), (), FunctionCall<SA>, ()>

Trait Implementations§

Source§

impl<SA, OriginalResult> ContractCall<SA> for ContractCallNoPayment<SA, OriginalResult>
where SA: CallTypeApi + 'static, OriginalResult: TopEncodeMulti,

Source§

fn transfer_execute(self)

Immediately launches a transfer-execute call. Read more
Source§

fn argument<T>(self, arg: &T) -> Self
where T: TopEncodeMulti,

Serializes and pushes a value to the arguments buffer. Read more
Source§

fn push_raw_argument<RawArg>(&mut self, raw_arg: RawArg)
where RawArg: Into<ManagedBuffer<SA>>,

For cases where we build the contract call by hand. Read more
Source§

fn with_raw_arguments(self, raw_argument_buffer: ManagedArgBuffer<SA>) -> Self

For cases where we build the contract call by hand.
Source§

fn with_gas_limit(self, gas_limit: u64) -> Self

Sets an explicit gas limit to the call.
Source§

fn into_call_data_string(self) -> ManagedBuffer<SA>

Source§

fn async_call( self, ) -> Tx<TxScEnv<SA>, (), ManagedAddress<SA>, Egld<BigUint<SA>>, (), FunctionCall<SA>, Option<CallbackClosure<SA>>>

Converts to a legacy async call.
Source§

fn async_call_promise(self) -> AsyncCallPromises<SA>

Converts to an async promise.
Source§

fn execute_on_dest_context<RequestedResult>(self) -> RequestedResult
where RequestedResult: TopDecodeMulti,

Executes immediately, synchronously, and returns contract call result. Only works if the target contract is in the same shard.
Source§

fn execute_on_dest_context_with_back_transfers<RequestedResult>( self, ) -> (RequestedResult, BackTransfers<SA>)
where RequestedResult: TopDecodeMulti,

Executes immediately, synchronously, and returns contract call result. Only works if the target contract is in the same shard.
Source§

fn execute_on_dest_context_ignore_result(self)

👎Deprecated since 0.36.1: Redundant method, use let _: IgnoreValue = contract_call.execute_on_dest_context(...) instead
Executes immediately, synchronously. Read more
Source§

fn execute_on_dest_context_readonly<RequestedResult>(self) -> RequestedResult
where RequestedResult: TopDecodeMulti,

Executes immediately, synchronously, and returns contract call result. Read more
Source§

fn execute_on_same_context<RequestedResult>(self) -> RequestedResult
where RequestedResult: TopDecodeMulti,

Executes immediately, synchronously, and returns contract call result. Read more
Source§

impl<SA, OriginalResult> ContractCallBase<SA> for ContractCallNoPayment<SA, OriginalResult>
where SA: CallTypeApi + 'static, OriginalResult: TopEncodeMulti,

Source§

type OriginalResult = OriginalResult

👎Deprecated since 0.49.0: Please use the unified transaction syntax instead.
Source§

impl<Api, R> From<ContractCallNoPayment<Api, R>> for FunctionCall<Api>
where Api: CallTypeApi,

Source§

fn from(ccnp: ContractCallNoPayment<Api, R>) -> FunctionCall<Api>

Converts to this type from the input type.
Source§

impl<OriginalResult> IntoBlockchainCall for ContractCallNoPayment<StaticApi, OriginalResult>
where OriginalResult: TopEncodeMulti,

Source§

type BlockchainCall = TypedScCall<OriginalResult>

👎Deprecated since 0.42.0: The recommended syntax is a variation of sc_call or sc_deploy with a scenario step built from the ContractCall.
Source§

fn into_blockchain_call(self) -> Self::BlockchainCall

👎Deprecated since 0.42.0: The recommended syntax is a variation of sc_call or sc_deploy with a scenario step built from the ContractCall.

Auto Trait Implementations§

§

impl<SA, OriginalResult> Freeze for ContractCallNoPayment<SA, OriginalResult>

§

impl<SA, OriginalResult> RefUnwindSafe for ContractCallNoPayment<SA, OriginalResult>

§

impl<SA, OriginalResult> Send for ContractCallNoPayment<SA, OriginalResult>
where SA: Send, OriginalResult: Send, <SA as HandleTypeInfo>::ManagedBufferHandle: Send,

§

impl<SA, OriginalResult> Sync for ContractCallNoPayment<SA, OriginalResult>
where SA: Sync, OriginalResult: Sync, <SA as HandleTypeInfo>::ManagedBufferHandle: Sync,

§

impl<SA, OriginalResult> Unpin for ContractCallNoPayment<SA, OriginalResult>
where SA: Unpin, OriginalResult: Unpin, <SA as HandleTypeInfo>::ManagedBufferHandle: Unpin,

§

impl<SA, OriginalResult> UnwindSafe for ContractCallNoPayment<SA, OriginalResult>
where SA: UnwindSafe, OriginalResult: UnwindSafe, <SA as HandleTypeInfo>::ManagedBufferHandle: UnwindSafe,

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> InterpretableFrom<T> for T

Source§

fn interpret_from(from: T, _context: &InterpreterContext) -> T

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<CC> IntoVMQuery for CC
where CC: ContractCall<VMHooksApi<StaticApiBackend>>,

Source§

impl<T> ReconstructableFrom<T> for T

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V