pub struct ContractCallWithEgld<SA, OriginalResult>where
SA: CallTypeApi + 'static,{
pub basic: ContractCallNoPayment<SA, OriginalResult>,
pub egld_payment: BigUint<SA>,
}Please use the unified transaction syntax instead.
Expand description
Holds data for calling another contract, with EGLD payment only.
Gets created when chaining method with_egld_transfer.
If the payment is zero, it bevahes exactly like ContractCallNoPayment.
It also represents the normalized form of any contract call, since ESDT transfers (the only payment not available here) get converted to builtin function calls in normalized form.
Fields§
§basic: ContractCallNoPayment<SA, OriginalResult>Please use the unified transaction syntax instead.
egld_payment: BigUint<SA>Please use the unified transaction syntax instead.
Implementations§
Source§impl<SA, OriginalResult> ContractCallWithEgld<SA, OriginalResult>where
SA: CallTypeApi + 'static,
impl<SA, OriginalResult> ContractCallWithEgld<SA, OriginalResult>where
SA: CallTypeApi + 'static,
Sourcepub fn convert_to_esdt_transfer_call(
self,
payments: ManagedVec<SA, EsdtTokenPayment<SA>>,
) -> Self
pub fn convert_to_esdt_transfer_call( self, payments: ManagedVec<SA, EsdtTokenPayment<SA>>, ) -> Self
If this is an ESDT call, it converts it to a regular call to ESDTTransfer.
Async calls require this step, but not transfer_esdt_execute.
Source§impl<SA, OriginalResult> ContractCallWithEgld<SA, OriginalResult>where
SA: CallTypeApi + 'static,
impl<SA, OriginalResult> ContractCallWithEgld<SA, OriginalResult>where
SA: CallTypeApi + 'static,
pub fn resolve_gas_limit(&self) -> u64
pub fn get_back_transfers( &self, ) -> (BigUint<SA>, ManagedVec<SA, EsdtTokenPayment<SA>>)
pub fn to_call_data_string(&self) -> ManagedBuffer<SA>
Source§impl<SA, OriginalResult> ContractCallWithEgld<SA, OriginalResult>where
SA: CallTypeApi + 'static,
impl<SA, OriginalResult> ContractCallWithEgld<SA, OriginalResult>where
SA: CallTypeApi + 'static,
Sourcepub fn new<N: Into<ManagedBuffer<SA>>>(
to: ManagedAddress<SA>,
endpoint_name: N,
egld_payment: BigUint<SA>,
) -> Self
pub fn new<N: Into<ManagedBuffer<SA>>>( to: ManagedAddress<SA>, endpoint_name: N, egld_payment: BigUint<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_egld_transfer.
Trait Implementations§
Source§impl<SA, OriginalResult> ContractCallBase<SA> for ContractCallWithEgld<SA, OriginalResult>where
SA: CallTypeApi + 'static,
OriginalResult: TopEncodeMulti,
impl<SA, OriginalResult> ContractCallBase<SA> for ContractCallWithEgld<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 ContractCallWithEgld<SA, OriginalResult>where
SA: CallTypeApi + 'static,
OriginalResult: TopEncodeMulti,
impl<SA, OriginalResult> ContractCall<SA> for ContractCallWithEgld<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