Struct elrond_wasm_node::ArwenApiImpl [−][src]
The reference to the API implementation based on Arwen hooks. It continas no data, can be embedded at no cost. Cloning it is a no-op.
Trait Implementations
impl CallValueApi<ArwenBigUint> for ArwenApiImpl
[src]
fn check_not_payable(&self)
[src]
fn egld_value(&self) -> ArwenBigUint
[src]
fn esdt_value(&self) -> ArwenBigUint
[src]
fn token(&self) -> TokenIdentifier
[src]
pub fn require_egld(&self) -> BigUint
[src]
pub fn require_esdt(&self, token: &[u8]) -> BigUint
[src]
pub fn payment_token_pair(&self) -> (BigUint, TokenIdentifier)
[src]
impl Clone for ArwenApiImpl
[src]
Should be no-op. The API implementation is zero-sized.
fn clone(&self) -> Self
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl ContractHookApi<ArwenBigInt, ArwenBigUint> for ArwenApiImpl
[src]
type Storage = Self
Abstracts the lower-level storage functionality.
type CallValue = Self
Abstracts the call value handling at the beginning of a function call.
type SendApi = Self
Abstracts the sending of EGLD & ESDT transactions, as well as async calls.
fn get_storage_raw(&self) -> Self::Storage
[src]
fn call_value(&self) -> Self::CallValue
[src]
fn send(&self) -> Self::SendApi
[src]
fn get_sc_address(&self) -> Address
[src]
fn get_owner_address(&self) -> Address
[src]
fn get_caller(&self) -> Address
[src]
fn get_balance(&self, address: &Address) -> ArwenBigUint
[src]
fn get_tx_hash(&self) -> H256
[src]
fn get_gas_left(&self) -> u64
[src]
fn get_block_timestamp(&self) -> u64
[src]
fn get_block_nonce(&self) -> u64
[src]
fn get_block_round(&self) -> u64
[src]
fn get_block_epoch(&self) -> u64
[src]
fn get_block_random_seed(&self) -> Box<[u8; 48]>ⓘ
[src]
fn get_prev_block_timestamp(&self) -> u64
[src]
fn get_prev_block_nonce(&self) -> u64
[src]
fn get_prev_block_round(&self) -> u64
[src]
fn get_prev_block_epoch(&self) -> u64
[src]
fn get_prev_block_random_seed(&self) -> Box<[u8; 48]>ⓘ
[src]
pub fn get_sc_balance(&self) -> BigUint
[src]
pub fn storage_load_cumulated_validator_reward(&self) -> BigUint
[src]
impl CryptoApi for ArwenApiImpl
[src]
fn sha256(&self, data: &[u8]) -> H256
[src]
fn keccak256(&self, data: &[u8]) -> H256
[src]
fn verify_bls(&self, key: &[u8], message: &[u8], signature: &[u8]) -> bool
[src]
fn verify_ed25519(&self, key: &[u8], message: &[u8], signature: &[u8]) -> bool
[src]
fn verify_secp256k1(&self, key: &[u8], message: &[u8], signature: &[u8]) -> bool
[src]
impl EndpointArgumentApi for ArwenApiImpl
[src]
Interface to only be used by code generated by the macros. The smart contract code doesn't have access to these methods directly.
fn get_num_arguments(&self) -> i32
[src]
fn get_argument_len(&self, arg_index: i32) -> usize
[src]
fn copy_argument_to_slice(&self, arg_index: i32, slice: &mut [u8])
[src]
fn get_argument_vec_u8(&self, arg_index: i32) -> Vec<u8>
[src]
fn get_argument_boxed_bytes(&self, arg_index: i32) -> BoxedBytes
[src]
fn get_argument_big_uint_raw(&self, arg_id: i32) -> i32
[src]
fn get_argument_big_int_raw(&self, arg_id: i32) -> i32
[src]
fn get_argument_u64(&self, arg_id: i32) -> u64
[src]
fn get_argument_i64(&self, arg_id: i32) -> i64
[src]
pub fn check_num_arguments(&self, expected: i32)
[src]
impl EndpointFinishApi for ArwenApiImpl
[src]
Interface to only be used by code generated by the macros. The smart contract code doesn't have access to these methods directly.
fn finish_slice_u8(&self, slice: &[u8])
[src]
fn finish_big_int_raw(&self, handle: i32)
[src]
fn finish_big_uint_raw(&self, handle: i32)
[src]
fn finish_u64(&self, value: u64)
[src]
fn finish_i64(&self, value: i64)
[src]
impl ErrorApi for ArwenApiImpl
[src]
fn signal_error(&self, message: &[u8]) -> !
[src]
impl LogApi for ArwenApiImpl
[src]
Interface to only be used by code generated by the macros. The smart contract code doesn't have access to these methods directly.
impl SendApi<ArwenBigUint> for ArwenApiImpl
[src]
fn direct_egld(&self, to: &Address, amount: &ArwenBigUint, data: &[u8])
[src]
fn direct_esdt_explicit_gas_limit(
&self,
to: &Address,
token: &[u8],
amount: &ArwenBigUint,
gas_limit: u64,
data: &[u8]
)
[src]
&self,
to: &Address,
token: &[u8],
amount: &ArwenBigUint,
gas_limit: u64,
data: &[u8]
)
fn async_call_raw(&self, to: &Address, amount: &ArwenBigUint, data: &[u8]) -> !
[src]
fn deploy_contract(
&self,
gas: u64,
amount: &ArwenBigUint,
code: &BoxedBytes,
code_metadata: CodeMetadata,
arg_buffer: &ArgBuffer
) -> Address
[src]
&self,
gas: u64,
amount: &ArwenBigUint,
code: &BoxedBytes,
code_metadata: CodeMetadata,
arg_buffer: &ArgBuffer
) -> Address
fn execute_on_dest_context(
&self,
gas: u64,
address: &Address,
amount: &ArwenBigUint,
function: &[u8],
arg_buffer: &ArgBuffer
)
[src]
&self,
gas: u64,
address: &Address,
amount: &ArwenBigUint,
function: &[u8],
arg_buffer: &ArgBuffer
)
fn execute_on_dest_context_by_caller(
&self,
gas: u64,
address: &Address,
amount: &ArwenBigUint,
function: &[u8],
arg_buffer: &ArgBuffer
)
[src]
&self,
gas: u64,
address: &Address,
amount: &ArwenBigUint,
function: &[u8],
arg_buffer: &ArgBuffer
)
fn execute_on_same_context(
&self,
gas: u64,
address: &Address,
amount: &ArwenBigUint,
function: &[u8],
arg_buffer: &ArgBuffer
)
[src]
&self,
gas: u64,
address: &Address,
amount: &ArwenBigUint,
function: &[u8],
arg_buffer: &ArgBuffer
)
pub fn direct_esdt(
&self,
to: &Address,
token: &[u8],
amount: &BigUint,
data: &[u8]
)
[src]
&self,
to: &Address,
token: &[u8],
amount: &BigUint,
data: &[u8]
)
pub fn direct(
&self,
to: &Address,
token: &TokenIdentifier,
amount: &BigUint,
data: &[u8]
)
[src]
&self,
to: &Address,
token: &TokenIdentifier,
amount: &BigUint,
data: &[u8]
)
impl StorageReadApi for ArwenApiImpl
[src]
fn storage_load_len(&self, key: &[u8]) -> usize
[src]
fn storage_load_vec_u8(&self, key: &[u8]) -> Vec<u8>
[src]
fn storage_load_boxed_bytes(&self, key: &[u8]) -> BoxedBytes
[src]
fn storage_load_big_uint_raw(&self, key: &[u8]) -> i32
[src]
fn storage_load_u64(&self, key: &[u8]) -> u64
[src]
fn storage_load_i64(&self, key: &[u8]) -> i64
[src]
impl StorageWriteApi for ArwenApiImpl
[src]
fn storage_store_slice_u8(&self, key: &[u8], value: &[u8])
[src]
fn storage_store_big_uint_raw(&self, key: &[u8], handle: i32)
[src]
fn storage_store_u64(&self, key: &[u8], value: u64)
[src]
fn storage_store_i64(&self, key: &[u8], value: i64)
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,