Trait soroban_env_host::Env
source · pub trait Env: EnvBase {
Show 90 methods
fn log_value(&self, v: RawVal) -> RawVal;
fn get_invoking_contract(&self) -> Object;
fn obj_cmp(&self, a: RawVal, b: RawVal) -> i64;
fn contract_event(&self, topics: Object, data: RawVal) -> RawVal;
fn get_current_contract(&self) -> Object;
fn get_ledger_version(&self) -> RawVal;
fn get_ledger_sequence(&self) -> RawVal;
fn get_ledger_timestamp(&self) -> Object;
fn get_ledger_network_passphrase(&self) -> Object;
fn get_current_call_stack(&self) -> Object;
fn fail_with_status(&self, status: Status) -> RawVal;
fn log_fmt_values(&self, fmt: Object, args: Object) -> RawVal;
fn get_invoker_type(&self) -> u64;
fn get_invoking_account(&self) -> Object;
fn get_ledger_network_id(&self) -> Object;
fn obj_from_u64(&self, v: u64) -> Object;
fn obj_to_u64(&self, obj: Object) -> u64;
fn obj_from_i64(&self, v: i64) -> Object;
fn obj_to_i64(&self, obj: Object) -> i64;
fn obj_from_u128_pieces(&self, lo: u64, hi: u64) -> Object;
fn obj_to_u128_lo64(&self, obj: Object) -> u64;
fn obj_to_u128_hi64(&self, obj: Object) -> u64;
fn obj_from_i128_pieces(&self, lo: u64, hi: u64) -> Object;
fn obj_to_i128_lo64(&self, obj: Object) -> u64;
fn obj_to_i128_hi64(&self, obj: Object) -> u64;
fn map_new(&self) -> Object;
fn map_put(&self, m: Object, k: RawVal, v: RawVal) -> Object;
fn map_get(&self, m: Object, k: RawVal) -> RawVal;
fn map_del(&self, m: Object, k: RawVal) -> Object;
fn map_len(&self, m: Object) -> RawVal;
fn map_has(&self, m: Object, k: RawVal) -> RawVal;
fn map_prev_key(&self, m: Object, k: RawVal) -> RawVal;
fn map_next_key(&self, m: Object, k: RawVal) -> RawVal;
fn map_min_key(&self, m: Object) -> RawVal;
fn map_max_key(&self, m: Object) -> RawVal;
fn map_keys(&self, m: Object) -> Object;
fn map_values(&self, m: Object) -> Object;
fn vec_new(&self, c: RawVal) -> Object;
fn vec_put(&self, v: Object, i: RawVal, x: RawVal) -> Object;
fn vec_get(&self, v: Object, i: RawVal) -> RawVal;
fn vec_del(&self, v: Object, i: RawVal) -> Object;
fn vec_len(&self, v: Object) -> RawVal;
fn vec_push_front(&self, v: Object, x: RawVal) -> Object;
fn vec_pop_front(&self, v: Object) -> Object;
fn vec_push_back(&self, v: Object, x: RawVal) -> Object;
fn vec_pop_back(&self, v: Object) -> Object;
fn vec_front(&self, v: Object) -> RawVal;
fn vec_back(&self, v: Object) -> RawVal;
fn vec_insert(&self, v: Object, i: RawVal, x: RawVal) -> Object;
fn vec_append(&self, v1: Object, v2: Object) -> Object;
fn vec_slice(&self, v: Object, start: RawVal, end: RawVal) -> Object;
fn vec_first_index_of(&self, v: Object, x: RawVal) -> RawVal;
fn vec_last_index_of(&self, v: Object, x: RawVal) -> RawVal;
fn vec_binary_search(&self, v: Object, x: RawVal) -> u64;
fn put_contract_data(&self, k: RawVal, v: RawVal) -> RawVal;
fn has_contract_data(&self, k: RawVal) -> RawVal;
fn get_contract_data(&self, k: RawVal) -> RawVal;
fn del_contract_data(&self, k: RawVal) -> RawVal;
fn create_contract_from_contract(
&self,
wasm_hash: Object,
salt: Object
) -> Object;
fn call(&self, contract: Object, func: Symbol, args: Object) -> RawVal;
fn try_call(&self, contract: Object, func: Symbol, args: Object) -> RawVal;
fn serialize_to_bytes(&self, v: RawVal) -> Object;
fn deserialize_from_bytes(&self, b: Object) -> RawVal;
fn bytes_copy_to_linear_memory(
&self,
b: Object,
b_pos: RawVal,
lm_pos: RawVal,
len: RawVal
) -> RawVal;
fn bytes_copy_from_linear_memory(
&self,
b: Object,
b_pos: RawVal,
lm_pos: RawVal,
len: RawVal
) -> Object;
fn bytes_new_from_linear_memory(&self, lm_pos: RawVal, len: RawVal) -> Object;
fn bytes_new(&self) -> Object;
fn bytes_put(&self, b: Object, i: RawVal, u: RawVal) -> Object;
fn bytes_get(&self, b: Object, i: RawVal) -> RawVal;
fn bytes_del(&self, b: Object, i: RawVal) -> Object;
fn bytes_len(&self, b: Object) -> RawVal;
fn bytes_push(&self, b: Object, u: RawVal) -> Object;
fn bytes_pop(&self, b: Object) -> Object;
fn bytes_front(&self, b: Object) -> RawVal;
fn bytes_back(&self, b: Object) -> RawVal;
fn bytes_insert(&self, b: Object, i: RawVal, u: RawVal) -> Object;
fn bytes_append(&self, b1: Object, b2: Object) -> Object;
fn bytes_slice(&self, b: Object, start: RawVal, end: RawVal) -> Object;
fn hash_from_bytes(&self, x: Object) -> Object;
fn hash_to_bytes(&self, x: Object) -> Object;
fn public_key_from_bytes(&self, x: Object) -> Object;
fn public_key_to_bytes(&self, x: Object) -> Object;
fn compute_hash_sha256(&self, x: Object) -> Object;
fn verify_sig_ed25519(&self, x: Object, k: Object, s: Object) -> RawVal;
fn account_get_low_threshold(&self, a: Object) -> RawVal;
fn account_get_medium_threshold(&self, a: Object) -> RawVal;
fn account_get_high_threshold(&self, a: Object) -> RawVal;
fn account_get_signer_weight(&self, a: Object, s: Object) -> RawVal;
fn account_exists(&self, a: Object) -> RawVal;
fn dummy0(&self) -> RawVal;
}
Expand description
This trait represents the interface between Host and Guest, used by client contract code and implemented (via CheckedEnv) by the host. It consists of functions that take or return only 64-bit values such as RawVal or u64.
Required Methods§
sourcefn log_value(&self, v: RawVal) -> RawVal
fn log_value(&self, v: RawVal) -> RawVal
This one variant of logging does not take a format string and is live in both Env=Guest and Env=Host configurations.
sourcefn get_invoking_contract(&self) -> Object
fn get_invoking_contract(&self) -> Object
Get the contractID Bytes
of the contract which invoked the running contract. Traps if the running contract was not invoked by a contract.
sourcefn contract_event(&self, topics: Object, data: RawVal) -> RawVal
fn contract_event(&self, topics: Object, data: RawVal) -> RawVal
Records a contract event. topics
is expected to be a SCVec
with length <= 4 that cannot contain Vec
, Map
, or Bytes
with length > 32 On success, returns an SCStatus::Ok
.
sourcefn get_current_contract(&self) -> Object
fn get_current_contract(&self) -> Object
Get the contractID Bytes
of the contract which invoked the running contract. Traps if the running contract was not invoked by a contract.
sourcefn get_ledger_version(&self) -> RawVal
fn get_ledger_version(&self) -> RawVal
Return the protocol version of the current ledger as a u32.
sourcefn get_ledger_sequence(&self) -> RawVal
fn get_ledger_sequence(&self) -> RawVal
Return the sequence number of the current ledger as a u32.
sourcefn get_ledger_timestamp(&self) -> Object
fn get_ledger_timestamp(&self) -> Object
Return the timestamp number of the current ledger as a u64.
sourcefn get_ledger_network_passphrase(&self) -> Object
fn get_ledger_network_passphrase(&self) -> Object
Return the network passphrase of the current ledger as Bytes
.
sourcefn get_current_call_stack(&self) -> Object
fn get_current_call_stack(&self) -> Object
Returns the full call stack from the first contract call to the current one as a vector of vectors, where the inside vector contains the contract id as Hash, and a function as a Symbol.
sourcefn fail_with_status(&self, status: Status) -> RawVal
fn fail_with_status(&self, status: Status) -> RawVal
Causes the currently executing contract to fail immediately with a provided status code, which must be of error-type ScStatusType::ContractError
. Does not actually return.
sourcefn log_fmt_values(&self, fmt: Object, args: Object) -> RawVal
fn log_fmt_values(&self, fmt: Object, args: Object) -> RawVal
Record a debug event. Fmt must be a Bytes. Args must be a Vec. Void is returned.
sourcefn get_invoker_type(&self) -> u64
fn get_invoker_type(&self) -> u64
Get whether the contract invocation is from an account or another contract. Returns 0 for account, 1 for contract.
sourcefn get_invoking_account(&self) -> Object
fn get_invoking_account(&self) -> Object
Get the AccountID object type of the account which invoked the running contract. Traps if the running contract was not invoked by an account.
sourcefn get_ledger_network_id(&self) -> Object
fn get_ledger_network_id(&self) -> Object
Return the network id (sha256 hash of network passphrase) of the current ledger as Bytes
. The value is always 32 bytes in length.
sourcefn obj_from_u64(&self, v: u64) -> Object
fn obj_from_u64(&self, v: u64) -> Object
Convert a u64 to an object containing a u64.
sourcefn obj_to_u64(&self, obj: Object) -> u64
fn obj_to_u64(&self, obj: Object) -> u64
Convert an object containing a i64 to a u64.
sourcefn obj_from_i64(&self, v: i64) -> Object
fn obj_from_i64(&self, v: i64) -> Object
Convert an i64 to an object containing an i64.
sourcefn obj_to_i64(&self, obj: Object) -> i64
fn obj_to_i64(&self, obj: Object) -> i64
Convert an object containing an i64 to an i64.
sourcefn obj_from_u128_pieces(&self, lo: u64, hi: u64) -> Object
fn obj_from_u128_pieces(&self, lo: u64, hi: u64) -> Object
Convert the low and high 64-bit words of a u128 to an object containing a u128.
sourcefn obj_to_u128_lo64(&self, obj: Object) -> u64
fn obj_to_u128_lo64(&self, obj: Object) -> u64
Extract the low 64 bits from an object containing a u128.
sourcefn obj_to_u128_hi64(&self, obj: Object) -> u64
fn obj_to_u128_hi64(&self, obj: Object) -> u64
Extract the high 64 bits from an object containing a u128.
sourcefn obj_from_i128_pieces(&self, lo: u64, hi: u64) -> Object
fn obj_from_i128_pieces(&self, lo: u64, hi: u64) -> Object
Convert the lo and hi 64-bit words of an i128 to an object containing an i128.
sourcefn obj_to_i128_lo64(&self, obj: Object) -> u64
fn obj_to_i128_lo64(&self, obj: Object) -> u64
Extract the low 64 bits from an object containing an i128.
sourcefn obj_to_i128_hi64(&self, obj: Object) -> u64
fn obj_to_i128_hi64(&self, obj: Object) -> u64
Extract the high 64 bits from an object containing an i128.
sourcefn map_put(&self, m: Object, k: RawVal, v: RawVal) -> Object
fn map_put(&self, m: Object, k: RawVal, v: RawVal) -> Object
Insert a key/value mapping into an existing map, and return the map object handle. If the map already has a mapping for the given key, the previous value is overwritten.
sourcefn map_get(&self, m: Object, k: RawVal) -> RawVal
fn map_get(&self, m: Object, k: RawVal) -> RawVal
Get the value for a key from a map. Traps if key is not found.
sourcefn map_del(&self, m: Object, k: RawVal) -> Object
fn map_del(&self, m: Object, k: RawVal) -> Object
Remove a key/value mapping from a map if it exists, traps if doesn’t.
sourcefn map_has(&self, m: Object, k: RawVal) -> RawVal
fn map_has(&self, m: Object, k: RawVal) -> RawVal
Test for the presence of a key in a map. Returns (SCStatic) TRUE/FALSE.
sourcefn map_prev_key(&self, m: Object, k: RawVal) -> RawVal
fn map_prev_key(&self, m: Object, k: RawVal) -> RawVal
Given a key, find the first key less than itself in the map’s sorted order. If such a key does not exist, return an SCStatus containing the error code (TBD).
sourcefn map_next_key(&self, m: Object, k: RawVal) -> RawVal
fn map_next_key(&self, m: Object, k: RawVal) -> RawVal
Given a key, find the first key greater than itself in the map’s sorted order. If such a key does not exist, return an SCStatus containing the error code (TBD).
sourcefn map_min_key(&self, m: Object) -> RawVal
fn map_min_key(&self, m: Object) -> RawVal
Find the minimum key from a map. If the map is empty, return an SCStatus containing the error code (TBD).
sourcefn map_max_key(&self, m: Object) -> RawVal
fn map_max_key(&self, m: Object) -> RawVal
Find the maximum key from a map. If the map is empty, return an SCStatus containing the error code (TBD).
sourcefn map_keys(&self, m: Object) -> Object
fn map_keys(&self, m: Object) -> Object
Return a new vector containing all the keys in a map. The new vector is ordered in the original map’s key-sorted order.
sourcefn map_values(&self, m: Object) -> Object
fn map_values(&self, m: Object) -> Object
Return a new vector containing all the values in a map. The new vector is ordered in the original map’s key-sorted order.
sourcefn vec_new(&self, c: RawVal) -> Object
fn vec_new(&self, c: RawVal) -> Object
Creates a new vector with an optional capacity hint c
. If c
is ScStatic::Void
, no hint is assumed and the new vector is empty. Otherwise, c
is parsed as an u32
that represents the initial capacity of the new vector.
sourcefn vec_put(&self, v: Object, i: RawVal, x: RawVal) -> Object
fn vec_put(&self, v: Object, i: RawVal, x: RawVal) -> Object
Update the value at index i
in the vector. Return the new vector. Trap if the index is out of bounds.
sourcefn vec_get(&self, v: Object, i: RawVal) -> RawVal
fn vec_get(&self, v: Object, i: RawVal) -> RawVal
Returns the element at index i
of the vector. Traps if the index is out of bound.
sourcefn vec_del(&self, v: Object, i: RawVal) -> Object
fn vec_del(&self, v: Object, i: RawVal) -> Object
Delete an element in a vector at index i
, shifting all elements after it to the left. Return the new vector. Traps if the index is out of bound.
sourcefn vec_push_front(&self, v: Object, x: RawVal) -> Object
fn vec_push_front(&self, v: Object, x: RawVal) -> Object
Push a value to the front of a vector.
sourcefn vec_pop_front(&self, v: Object) -> Object
fn vec_pop_front(&self, v: Object) -> Object
Removes the first element from the vector and returns the new vector. Traps if original vector is empty.
sourcefn vec_push_back(&self, v: Object, x: RawVal) -> Object
fn vec_push_back(&self, v: Object, x: RawVal) -> Object
Appends an element to the back of the vector.
sourcefn vec_pop_back(&self, v: Object) -> Object
fn vec_pop_back(&self, v: Object) -> Object
Removes the last element from the vector and returns the new vector. Traps if original vector is empty.
sourcefn vec_front(&self, v: Object) -> RawVal
fn vec_front(&self, v: Object) -> RawVal
Return the first element in the vector. Traps if the vector is empty
sourcefn vec_back(&self, v: Object) -> RawVal
fn vec_back(&self, v: Object) -> RawVal
Return the last element in the vector. Traps if the vector is empty
sourcefn vec_insert(&self, v: Object, i: RawVal, x: RawVal) -> Object
fn vec_insert(&self, v: Object, i: RawVal, x: RawVal) -> Object
Inserts an element at index i
within the vector, shifting all elements after it to the right. Traps if the index is out of bound
sourcefn vec_append(&self, v1: Object, v2: Object) -> Object
fn vec_append(&self, v1: Object, v2: Object) -> Object
Clone the vector v1
, then moves all the elements of vector v2
into it. Return the new vector. Traps if number of elements in the vector overflows a u32.
sourcefn vec_slice(&self, v: Object, start: RawVal, end: RawVal) -> Object
fn vec_slice(&self, v: Object, start: RawVal, end: RawVal) -> Object
Copy the elements from start
index until end
index, exclusive, in the vector and create a new vector from it. Return the new vector. Traps if the index is out of bound.
sourcefn vec_first_index_of(&self, v: Object, x: RawVal) -> RawVal
fn vec_first_index_of(&self, v: Object, x: RawVal) -> RawVal
Get the index of the first occurrence of a given element in the vector. Returns the u32 index of the value if it’s there. Otherwise, it returns ScStatic::Void
.
sourcefn vec_last_index_of(&self, v: Object, x: RawVal) -> RawVal
fn vec_last_index_of(&self, v: Object, x: RawVal) -> RawVal
Get the index of the last occurrence of a given element in the vector. Returns the u32 index of the value if it’s there. Otherwise, it returns ScStatic::Void
.
sourcefn vec_binary_search(&self, v: Object, x: RawVal) -> u64
fn vec_binary_search(&self, v: Object, x: RawVal) -> u64
Binary search a sorted vector for a given element. If it exists, the high-32 bits of the return value is 0x0001 and the low-32 bits contain the u32 index of the element. If it does not exist, the high-32 bits of the return value is 0x0000 and the low-32 bits contain the u32 index at which the element would need to be inserted into the vector to maintain sorted order.
sourcefn put_contract_data(&self, k: RawVal, v: RawVal) -> RawVal
fn put_contract_data(&self, k: RawVal, v: RawVal) -> RawVal
sourcefn has_contract_data(&self, k: RawVal) -> RawVal
fn has_contract_data(&self, k: RawVal) -> RawVal
sourcefn get_contract_data(&self, k: RawVal) -> RawVal
fn get_contract_data(&self, k: RawVal) -> RawVal
sourcefn del_contract_data(&self, k: RawVal) -> RawVal
fn del_contract_data(&self, k: RawVal) -> RawVal
sourcefn create_contract_from_contract(&self, wasm_hash: Object, salt: Object) -> Object
fn create_contract_from_contract(&self, wasm_hash: Object, salt: Object) -> Object
Deploys a contract from the current contract. wasm_hash
must be a hash of the contract code that has already been installed on this network. salt
is used to create a unique contract id.
sourcefn call(&self, contract: Object, func: Symbol, args: Object) -> RawVal
fn call(&self, contract: Object, func: Symbol, args: Object) -> RawVal
Calls a function in another contract with arguments contained in vector args
. If the call is successful, forwards the result of the called function. Traps otherwise.
sourcefn try_call(&self, contract: Object, func: Symbol, args: Object) -> RawVal
fn try_call(&self, contract: Object, func: Symbol, args: Object) -> RawVal
Calls a function in another contract with arguments contained in vector args
. Returns: - if successful, result of the called function. - otherwise, an SCStatus
containing the error status code.
sourcefn serialize_to_bytes(&self, v: RawVal) -> Object
fn serialize_to_bytes(&self, v: RawVal) -> Object
Serializes an (SC)Val into XDR opaque Bytes
object.
sourcefn deserialize_from_bytes(&self, b: Object) -> RawVal
fn deserialize_from_bytes(&self, b: Object) -> RawVal
Deserialize a Bytes
object to get back the (SC)Val.
sourcefn bytes_copy_to_linear_memory(
&self,
b: Object,
b_pos: RawVal,
lm_pos: RawVal,
len: RawVal
) -> RawVal
fn bytes_copy_to_linear_memory(
&self,
b: Object,
b_pos: RawVal,
lm_pos: RawVal,
len: RawVal
) -> RawVal
Copies a slice of bytes from a Bytes
object specified at offset b_pos
with length len
into the linear memory at position lm_pos
. Traps if either the Bytes
object or the linear memory doesn’t have enough bytes.
sourcefn bytes_copy_from_linear_memory(
&self,
b: Object,
b_pos: RawVal,
lm_pos: RawVal,
len: RawVal
) -> Object
fn bytes_copy_from_linear_memory(
&self,
b: Object,
b_pos: RawVal,
lm_pos: RawVal,
len: RawVal
) -> Object
Copies a segment of the linear memory specified at position lm_pos
with length len
, into a Bytes
object at offset b_pos
. The Bytes
object may grow in size to accommodate the new bytes. Traps if the linear memory doesn’t have enough bytes.
sourcefn bytes_new_from_linear_memory(&self, lm_pos: RawVal, len: RawVal) -> Object
fn bytes_new_from_linear_memory(&self, lm_pos: RawVal, len: RawVal) -> Object
Constructs a new Bytes
object initialized with bytes copied from a linear memory slice specified at position lm_pos
with length len
.
sourcefn bytes_put(&self, b: Object, i: RawVal, u: RawVal) -> Object
fn bytes_put(&self, b: Object, i: RawVal, u: RawVal) -> Object
Update the value at index i
in the Bytes
object. Return the new Bytes
. Trap if the index is out of bounds.
sourcefn bytes_get(&self, b: Object, i: RawVal) -> RawVal
fn bytes_get(&self, b: Object, i: RawVal) -> RawVal
Returns the element at index i
of the Bytes
object. Traps if the index is out of bound.
sourcefn bytes_del(&self, b: Object, i: RawVal) -> Object
fn bytes_del(&self, b: Object, i: RawVal) -> Object
Delete an element in a Bytes
object at index i
, shifting all elements after it to the left. Return the new Bytes
. Traps if the index is out of bound.
sourcefn bytes_push(&self, b: Object, u: RawVal) -> Object
fn bytes_push(&self, b: Object, u: RawVal) -> Object
Appends an element to the back of the Bytes
object.
sourcefn bytes_pop(&self, b: Object) -> Object
fn bytes_pop(&self, b: Object) -> Object
Removes the last element from the Bytes
object and returns the new Bytes
. Traps if original Bytes
is empty.
sourcefn bytes_front(&self, b: Object) -> RawVal
fn bytes_front(&self, b: Object) -> RawVal
Return the first element in the Bytes
object. Traps if the Bytes
is empty
sourcefn bytes_back(&self, b: Object) -> RawVal
fn bytes_back(&self, b: Object) -> RawVal
Return the last element in the Bytes
object. Traps if the Bytes
is empty
sourcefn bytes_insert(&self, b: Object, i: RawVal, u: RawVal) -> Object
fn bytes_insert(&self, b: Object, i: RawVal, u: RawVal) -> Object
Inserts an element at index i
within the Bytes
object, shifting all elements after it to the right. Traps if the index is out of bound
sourcefn bytes_append(&self, b1: Object, b2: Object) -> Object
fn bytes_append(&self, b1: Object, b2: Object) -> Object
Clone the Bytes
object b1
, then moves all the elements of Bytes
object b2
into it. Return the new Bytes
. Traps if its length overflows a u32.
sourcefn bytes_slice(&self, b: Object, start: RawVal, end: RawVal) -> Object
fn bytes_slice(&self, b: Object, start: RawVal, end: RawVal) -> Object
Copies the elements from start
index until end
index, exclusive, in the Bytes
object and creates a new Bytes
from it. Returns the new Bytes
. Traps if the index is out of bound.
sourcefn hash_from_bytes(&self, x: Object) -> Object
fn hash_from_bytes(&self, x: Object) -> Object
sourcefn hash_to_bytes(&self, x: Object) -> Object
fn hash_to_bytes(&self, x: Object) -> Object
sourcefn public_key_from_bytes(&self, x: Object) -> Object
fn public_key_from_bytes(&self, x: Object) -> Object
sourcefn public_key_to_bytes(&self, x: Object) -> Object
fn public_key_to_bytes(&self, x: Object) -> Object
sourcefn compute_hash_sha256(&self, x: Object) -> Object
fn compute_hash_sha256(&self, x: Object) -> Object
sourcefn account_get_low_threshold(&self, a: Object) -> RawVal
fn account_get_low_threshold(&self, a: Object) -> RawVal
Get the low threshold for the account with ID a
(a
is AccountId
). Traps if no such account exists.
sourcefn account_get_medium_threshold(&self, a: Object) -> RawVal
fn account_get_medium_threshold(&self, a: Object) -> RawVal
Get the medium threshold for the account with ID a
(a
is AccountId
). Traps if no such account exists.
sourcefn account_get_high_threshold(&self, a: Object) -> RawVal
fn account_get_high_threshold(&self, a: Object) -> RawVal
Get the high threshold for the account with ID a
(a
is AccountId
). Traps if no such account exists.
sourcefn account_get_signer_weight(&self, a: Object, s: Object) -> RawVal
fn account_get_signer_weight(&self, a: Object, s: Object) -> RawVal
Get the signer weight for the signer with ed25519 public key s
(s
is Bytes
) on the account with ID a
(a
is AccountId
). Returns the master weight if the signer is the master, and returns 0 if no such signer exists. Traps if no such account exists.
sourcefn account_exists(&self, a: Object) -> RawVal
fn account_exists(&self, a: Object) -> RawVal
Given an ID a
(a
is AccountId
) of an account, check if it exists. Returns (SCStatic) TRUE/FALSE.