Struct soroban_env_guest::UnimplementedEnv
source · pub struct UnimplementedEnv;
Expand description
A dummy implementation of the Env trait that fails with unimplemented!()
in
all functions. Useful for certain testing scenarios.
Trait Implementations§
source§impl Clone for UnimplementedEnv
impl Clone for UnimplementedEnv
source§fn clone(&self) -> UnimplementedEnv
fn clone(&self) -> UnimplementedEnv
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Default for UnimplementedEnv
impl Default for UnimplementedEnv
source§fn default() -> UnimplementedEnv
fn default() -> UnimplementedEnv
Returns the “default value” for a type. Read more
source§impl Env for UnimplementedEnv
impl Env for UnimplementedEnv
fn log_value(&self, _: RawVal) -> RawVal
source§fn 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. Read morefn obj_cmp(&self, _: RawVal, _: RawVal) -> i64
source§fn contract_event(&self, _: Object, _: RawVal) -> RawVal
fn contract_event(&self, _: Object, _: 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
. Read moresource§fn 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. Read moresource§fn get_ledger_version(&self) -> RawVal
fn get_ledger_version(&self) -> RawVal
Return the protocol version of the current ledger as a u32.
source§fn get_ledger_sequence(&self) -> RawVal
fn get_ledger_sequence(&self) -> RawVal
Return the sequence number of the current ledger as a u32.
source§fn get_ledger_timestamp(&self) -> Object
fn get_ledger_timestamp(&self) -> Object
Return the timestamp number of the current ledger as a u64.
source§fn get_ledger_network_passphrase(&self) -> Object
fn get_ledger_network_passphrase(&self) -> Object
Return the network passphrase of the current ledger as
Bytes
.source§fn 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. Read more
source§fn fail_with_status(&self, _: Status) -> RawVal
fn fail_with_status(&self, _: 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. Read morefn log_fmt_values(&self, _: Object, _: Object) -> RawVal
source§fn 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. Read more
source§fn 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. Read more
source§fn 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. Read moresource§fn obj_from_u64(&self, _: u64) -> Object
fn obj_from_u64(&self, _: u64) -> Object
Convert a u64 to an object containing a u64.
source§fn obj_to_u64(&self, _: Object) -> u64
fn obj_to_u64(&self, _: Object) -> u64
Convert an object containing a i64 to a u64.
source§fn obj_from_i64(&self, _: i64) -> Object
fn obj_from_i64(&self, _: i64) -> Object
Convert an i64 to an object containing an i64.
source§fn obj_to_i64(&self, _: Object) -> i64
fn obj_to_i64(&self, _: Object) -> i64
Convert an object containing an i64 to an i64.
source§fn obj_from_u128_pieces(&self, _: u64, _: u64) -> Object
fn obj_from_u128_pieces(&self, _: u64, _: u64) -> Object
Convert the low and high 64-bit words of a u128 to an
object containing a u128. Read more
source§fn obj_to_u128_lo64(&self, _: Object) -> u64
fn obj_to_u128_lo64(&self, _: Object) -> u64
Extract the low 64 bits from an object containing a u128.
source§fn obj_to_u128_hi64(&self, _: Object) -> u64
fn obj_to_u128_hi64(&self, _: Object) -> u64
Extract the high 64 bits from an object containing a u128.
source§fn obj_from_i128_pieces(&self, _: u64, _: u64) -> Object
fn obj_from_i128_pieces(&self, _: u64, _: u64) -> Object
Convert the lo and hi 64-bit words of an i128 to an
object containing an i128. Read more
source§fn obj_to_i128_lo64(&self, _: Object) -> u64
fn obj_to_i128_lo64(&self, _: Object) -> u64
Extract the low 64 bits from an object containing an i128.
source§fn obj_to_i128_hi64(&self, _: Object) -> u64
fn obj_to_i128_hi64(&self, _: Object) -> u64
Extract the high 64 bits from an object containing an i128.
source§fn map_put(&self, _: Object, _: RawVal, _: RawVal) -> Object
fn map_put(&self, _: Object, _: RawVal, _: 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. Read more
source§fn map_get(&self, _: Object, _: RawVal) -> RawVal
fn map_get(&self, _: Object, _: RawVal) -> RawVal
Get the value for a key from a map. Traps if key is not found.
source§fn map_del(&self, _: Object, _: RawVal) -> Object
fn map_del(&self, _: Object, _: RawVal) -> Object
Remove a key/value mapping from a map if it exists, traps if doesn’t.
source§fn map_has(&self, _: Object, _: RawVal) -> RawVal
fn map_has(&self, _: Object, _: RawVal) -> RawVal
Test for the presence of a key in a map. Returns (SCStatic) TRUE/FALSE.
source§fn map_prev_key(&self, _: Object, _: RawVal) -> RawVal
fn map_prev_key(&self, _: Object, _: 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). Read more
source§fn map_next_key(&self, _: Object, _: RawVal) -> RawVal
fn map_next_key(&self, _: Object, _: 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). Read more
source§fn map_min_key(&self, _: Object) -> RawVal
fn map_min_key(&self, _: Object) -> RawVal
Find the minimum key from a map.
If the map is empty, return an SCStatus containing the error code (TBD). Read more
source§fn map_max_key(&self, _: Object) -> RawVal
fn map_max_key(&self, _: Object) -> RawVal
Find the maximum key from a map.
If the map is empty, return an SCStatus containing the error code (TBD). Read more
source§fn map_keys(&self, _: Object) -> Object
fn map_keys(&self, _: 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. Read more
source§fn map_values(&self, _: Object) -> Object
fn map_values(&self, _: 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. Read more
source§fn vec_new(&self, _: RawVal) -> Object
fn vec_new(&self, _: 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. Read moresource§fn vec_put(&self, _: Object, _: RawVal, _: RawVal) -> Object
fn vec_put(&self, _: Object, _: RawVal, _: RawVal) -> Object
Update the value at index
i
in the vector. Return the new vector.
Trap if the index is out of bounds. Read moresource§fn vec_get(&self, _: Object, _: RawVal) -> RawVal
fn vec_get(&self, _: Object, _: RawVal) -> RawVal
Returns the element at index
i
of the vector. Traps if the index is out of bound.source§fn vec_del(&self, _: Object, _: RawVal) -> Object
fn vec_del(&self, _: Object, _: 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. Read moresource§fn vec_push_front(&self, _: Object, _: RawVal) -> Object
fn vec_push_front(&self, _: Object, _: RawVal) -> Object
Push a value to the front of a vector.
source§fn vec_pop_front(&self, _: Object) -> Object
fn vec_pop_front(&self, _: Object) -> Object
Removes the first element from the vector and returns the new vector.
Traps if original vector is empty. Read more
source§fn vec_push_back(&self, _: Object, _: RawVal) -> Object
fn vec_push_back(&self, _: Object, _: RawVal) -> Object
Appends an element to the back of the vector.
source§fn vec_pop_back(&self, _: Object) -> Object
fn vec_pop_back(&self, _: Object) -> Object
Removes the last element from the vector and returns the new vector.
Traps if original vector is empty. Read more
source§fn vec_front(&self, _: Object) -> RawVal
fn vec_front(&self, _: Object) -> RawVal
Return the first element in the vector. Traps if the vector is empty
source§fn vec_back(&self, _: Object) -> RawVal
fn vec_back(&self, _: Object) -> RawVal
Return the last element in the vector. Traps if the vector is empty
source§fn vec_insert(&self, _: Object, _: RawVal, _: RawVal) -> Object
fn vec_insert(&self, _: Object, _: RawVal, _: 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 Read moresource§fn vec_append(&self, _: Object, _: Object) -> Object
fn vec_append(&self, _: Object, _: 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. Read moresource§fn vec_slice(&self, _: Object, _: RawVal, _: RawVal) -> Object
fn vec_slice(&self, _: Object, _: RawVal, _: 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. Read moresource§fn vec_first_index_of(&self, _: Object, _: RawVal) -> RawVal
fn vec_first_index_of(&self, _: Object, _: 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
. Read moresource§fn vec_last_index_of(&self, _: Object, _: RawVal) -> RawVal
fn vec_last_index_of(&self, _: Object, _: 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
. Read moresource§fn vec_binary_search(&self, _: Object, _: RawVal) -> u64
fn vec_binary_search(&self, _: Object, _: 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. Read more
fn put_contract_data(&self, _: RawVal, _: RawVal) -> RawVal
fn has_contract_data(&self, _: RawVal) -> RawVal
fn get_contract_data(&self, _: RawVal) -> RawVal
fn del_contract_data(&self, _: RawVal) -> RawVal
source§fn create_contract_from_contract(&self, _: Object, _: Object) -> Object
fn create_contract_from_contract(&self, _: Object, _: 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. Read moresource§fn create_token_from_contract(&self, _: Object) -> Object
fn create_token_from_contract(&self, _: Object) -> Object
Deploys a built-in token contract from the current contract.
salt
is used to create a unique contract id for the token. Read moresource§fn call(&self, _: Object, _: Symbol, _: Object) -> RawVal
fn call(&self, _: Object, _: Symbol, _: 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. Read moresource§fn try_call(&self, _: Object, _: Symbol, _: Object) -> RawVal
fn try_call(&self, _: Object, _: Symbol, _: Object) -> RawVal
Calls a function in another contract with arguments contained in vector
args
. Returns: Read moresource§fn serialize_to_bytes(&self, _: RawVal) -> Object
fn serialize_to_bytes(&self, _: RawVal) -> Object
Serializes an (SC)Val into XDR opaque
Bytes
object.source§fn deserialize_from_bytes(&self, _: Object) -> RawVal
fn deserialize_from_bytes(&self, _: Object) -> RawVal
Deserialize a
Bytes
object to get back the (SC)Val.source§fn bytes_copy_to_linear_memory(
&self,
_: Object,
_: RawVal,
_: RawVal,
_: RawVal
) -> RawVal
fn bytes_copy_to_linear_memory(
&self,
_: Object,
_: RawVal,
_: RawVal,
_: 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. Read moresource§fn bytes_copy_from_linear_memory(
&self,
_: Object,
_: RawVal,
_: RawVal,
_: RawVal
) -> Object
fn bytes_copy_from_linear_memory(
&self,
_: Object,
_: RawVal,
_: RawVal,
_: 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. Read moresource§fn bytes_new_from_linear_memory(&self, _: RawVal, _: RawVal) -> Object
fn bytes_new_from_linear_memory(&self, _: RawVal, _: RawVal) -> Object
Constructs a new
Bytes
object initialized with bytes copied from a linear memory slice specified at position lm_pos
with length len
.source§fn bytes_put(&self, _: Object, _: RawVal, _: RawVal) -> Object
fn bytes_put(&self, _: Object, _: RawVal, _: RawVal) -> Object
Update the value at index
i
in the Bytes
object. Return the new Bytes
.
Trap if the index is out of bounds. Read moresource§fn bytes_get(&self, _: Object, _: RawVal) -> RawVal
fn bytes_get(&self, _: Object, _: RawVal) -> RawVal
Returns the element at index
i
of the Bytes
object. Traps if the index is out of bound.source§fn bytes_del(&self, _: Object, _: RawVal) -> Object
fn bytes_del(&self, _: Object, _: 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. Read moresource§fn bytes_push(&self, _: Object, _: RawVal) -> Object
fn bytes_push(&self, _: Object, _: RawVal) -> Object
Appends an element to the back of the
Bytes
object.source§fn bytes_pop(&self, _: Object) -> Object
fn bytes_pop(&self, _: Object) -> Object
Removes the last element from the
Bytes
object and returns the new Bytes
.
Traps if original Bytes
is empty. Read moresource§fn bytes_front(&self, _: Object) -> RawVal
fn bytes_front(&self, _: Object) -> RawVal
Return the first element in the
Bytes
object. Traps if the Bytes
is emptysource§fn bytes_back(&self, _: Object) -> RawVal
fn bytes_back(&self, _: Object) -> RawVal
Return the last element in the
Bytes
object. Traps if the Bytes
is emptysource§fn bytes_insert(&self, _: Object, _: RawVal, _: RawVal) -> Object
fn bytes_insert(&self, _: Object, _: RawVal, _: 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 Read moresource§fn bytes_append(&self, _: Object, _: Object) -> Object
fn bytes_append(&self, _: Object, _: 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. Read moresource§fn bytes_slice(&self, _: Object, _: RawVal, _: RawVal) -> Object
fn bytes_slice(&self, _: Object, _: RawVal, _: 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. Read morefn hash_from_bytes(&self, _: Object) -> Object
fn hash_to_bytes(&self, _: Object) -> Object
fn public_key_from_bytes(&self, _: Object) -> Object
fn public_key_to_bytes(&self, _: Object) -> Object
fn compute_hash_sha256(&self, _: Object) -> Object
fn verify_sig_ed25519(&self, _: Object, _: Object, _: Object) -> RawVal
source§fn account_get_low_threshold(&self, _: Object) -> RawVal
fn account_get_low_threshold(&self, _: Object) -> RawVal
Get the low threshold for the account with ID
a
(a
is
AccountId
). Traps if no such account exists. Read moresource§fn account_get_medium_threshold(&self, _: Object) -> RawVal
fn account_get_medium_threshold(&self, _: Object) -> RawVal
Get the medium threshold for the account with ID
a
(a
is
AccountId
). Traps if no such account exists. Read moresource§fn account_get_high_threshold(&self, _: Object) -> RawVal
fn account_get_high_threshold(&self, _: Object) -> RawVal
Get the high threshold for the account with ID
a
(a
is
AccountId
). Traps if no such account exists. Read moresource§fn account_get_signer_weight(&self, _: Object, _: Object) -> RawVal
fn account_get_signer_weight(&self, _: Object, _: 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. Read moresource§impl EnvBase for UnimplementedEnv
impl EnvBase for UnimplementedEnv
source§fn as_mut_any(&mut self) -> &mut (dyn Any + 'static)
fn as_mut_any(&mut self) -> &mut (dyn Any + 'static)
Used for recovering the concrete type of the Host.
source§fn check_same_env(&self, _other: &UnimplementedEnv)
fn check_same_env(&self, _other: &UnimplementedEnv)
Used to check two environments are the same, trapping if not.
source§fn deep_clone(&self) -> UnimplementedEnv
fn deep_clone(&self) -> UnimplementedEnv
Used to clone an environment deeply, not just a handle to it.
source§fn bytes_copy_from_slice(
&self,
_b: Object,
_b_pos: RawVal,
_mem: &[u8]
) -> Result<Object, Status>
fn bytes_copy_from_slice(
&self,
_b: Object,
_b_pos: RawVal,
_mem: &[u8]
) -> Result<Object, Status>
Copy a slice of bytes from the caller’s memory into an existing
Bytes
object the host, returning a new Bytes
. Read moresource§fn bytes_copy_to_slice(
&self,
_b: Object,
_b_pos: RawVal,
_mem: &mut [u8]
) -> Result<(), Status>
fn bytes_copy_to_slice(
&self,
_b: Object,
_b_pos: RawVal,
_mem: &mut [u8]
) -> Result<(), Status>
Copy a slice of bytes from a
Bytes
object in the host into the
caller’s memory. Read moresource§fn bytes_new_from_slice(&self, _mem: &[u8]) -> Result<Object, Status>
fn bytes_new_from_slice(&self, _mem: &[u8]) -> Result<Object, Status>
Form a new
Bytes
object in the host from a slice of memory in the
caller. Read moresource§fn log_static_fmt_static_str(
&self,
_fmt: &'static str,
_s: &'static str
) -> Result<(), Status>
fn log_static_fmt_static_str(
&self,
_fmt: &'static str,
_s: &'static str
) -> Result<(), Status>
Log a formatted debugging message to the debug log (if present), passing
a simplified format string (supporting only positional
{}
markers) and
a single string-slice argument that will be inserted at the marker in
the format string. Read more