pub struct ContractCallWithMultiEsdt<SA, OriginalResult>where
SA: CallTypeApi + 'static,{
pub basic: ContractCallNoPayment<SA, OriginalResult>,
pub esdt_payments: ManagedVec<SA, EsdtTokenPayment<SA>>,
}Please use the unified transaction syntax instead.
Fields§
§basic: ContractCallNoPayment<SA, OriginalResult>Please use the unified transaction syntax instead.
esdt_payments: ManagedVec<SA, EsdtTokenPayment<SA>>Please use the unified transaction syntax instead.
Implementations§
Source§impl<SA, OriginalResult> ContractCallWithMultiEsdt<SA, OriginalResult>where
SA: CallTypeApi + 'static,
impl<SA, OriginalResult> ContractCallWithMultiEsdt<SA, OriginalResult>where
SA: CallTypeApi + 'static,
Sourcepub fn new<N: Into<ManagedBuffer<SA>>>(
to: ManagedAddress<SA>,
endpoint_name: N,
payments: ManagedVec<SA, EsdtTokenPayment<SA>>,
) -> Self
pub fn new<N: Into<ManagedBuffer<SA>>>( to: ManagedAddress<SA>, endpoint_name: N, payments: ManagedVec<SA, EsdtTokenPayment<SA>>, ) -> Self
Creates a new instance directly.
The constructor is mostly for hand-written proxies,
the usual way of constructing this object is via the builder methods of other contract call types,
especially with_esdt_transfer or with_multi_token_transfer.
Sourcepub fn with_esdt_transfer<P: Into<EsdtTokenPayment<SA>>>(
self,
payment: P,
) -> Self
pub fn with_esdt_transfer<P: Into<EsdtTokenPayment<SA>>>( self, payment: P, ) -> Self
Adds a single ESDT token transfer to a contract call.
Can be called multiple times on the same call.
pub fn add_esdt_token_transfer( self, payment_token: EsdtTokenIdentifier<SA>, payment_nonce: u64, payment_amount: BigUint<SA>, ) -> Self
Replace by contract_call.with_esdt_transfer((payment_token, payment_nonce, payment_amount)).
The tuple argument will get automatically converted to EsdtTokenPayment.
Trait Implementations§
Source§impl<SA, OriginalResult> ContractCallBase<SA> for ContractCallWithMultiEsdt<SA, OriginalResult>where
SA: CallTypeApi + 'static,
OriginalResult: TopEncodeMulti,
impl<SA, OriginalResult> ContractCallBase<SA> for ContractCallWithMultiEsdt<SA, OriginalResult>where
SA: CallTypeApi + 'static,
OriginalResult: TopEncodeMulti,
Source§type OriginalResult = OriginalResult
type OriginalResult = OriginalResult
Please use the unified transaction syntax instead.
Source§impl<SA, OriginalResult> ContractCall<SA> for ContractCallWithMultiEsdt<SA, OriginalResult>where
SA: CallTypeApi + 'static,
OriginalResult: TopEncodeMulti,
impl<SA, OriginalResult> ContractCall<SA> for ContractCallWithMultiEsdt<SA, OriginalResult>where
SA: CallTypeApi + 'static,
OriginalResult: TopEncodeMulti,
Source§fn transfer_execute(self)
fn transfer_execute(self)
Source§fn argument<T: TopEncodeMulti>(self, arg: &T) -> Self
fn argument<T: TopEncodeMulti>(self, arg: &T) -> Self
Source§fn push_raw_argument<RawArg: Into<ManagedBuffer<SA>>>(
&mut self,
raw_arg: RawArg,
)
fn push_raw_argument<RawArg: Into<ManagedBuffer<SA>>>( &mut self, raw_arg: RawArg, )
Source§fn with_raw_arguments(self, raw_argument_buffer: ManagedArgBuffer<SA>) -> Self
fn with_raw_arguments(self, raw_argument_buffer: ManagedArgBuffer<SA>) -> Self
Source§fn with_gas_limit(self, gas_limit: u64) -> Self
fn with_gas_limit(self, gas_limit: u64) -> Self
fn into_call_data_string(self) -> ManagedBuffer<SA>
Source§fn async_call(self) -> AsyncCall<SA>
fn async_call(self) -> AsyncCall<SA>
Source§fn async_call_promise(self) -> AsyncCallPromises<SA>
fn async_call_promise(self) -> AsyncCallPromises<SA>
Source§fn execute_on_dest_context<RequestedResult>(self) -> RequestedResultwhere
RequestedResult: TopDecodeMulti,
fn execute_on_dest_context<RequestedResult>(self) -> RequestedResultwhere
RequestedResult: TopDecodeMulti,
Source§fn execute_on_dest_context_with_back_transfers<RequestedResult>(
self,
) -> (RequestedResult, BackTransfersLegacy<SA>)where
RequestedResult: TopDecodeMulti,
fn execute_on_dest_context_with_back_transfers<RequestedResult>(
self,
) -> (RequestedResult, BackTransfersLegacy<SA>)where
RequestedResult: TopDecodeMulti,
Source§fn execute_on_dest_context_ignore_result(self)
fn execute_on_dest_context_ignore_result(self)
Redundant method, use let _: IgnoreValue = contract_call.execute_on_dest_context(...) instead