Struct soroban_sdk::Env
source · [−]pub struct Env { /* private fields */ }
Expand description
Implementations
sourceimpl Env
impl Env
sourcepub fn invoke_contract<T: TryFromVal<Env, RawVal>>(
&self,
contract_id: &BytesN<32>,
func: &Symbol,
args: Vec<EnvVal>
) -> T
pub fn invoke_contract<T: TryFromVal<Env, RawVal>>(
&self,
contract_id: &BytesN<32>,
func: &Symbol,
args: Vec<EnvVal>
) -> T
Invokes a function of a contract that is registered in the Env.
Panics
Will panic if the contract_id
does not match a registered contract,
func
does not match a function of the referenced contract, or the
number of args
do not match the argument count of the referenced
contract function.
Will also panic if the value returned from the contract cannot be
converted into the type T
.
TODO
Return a Result instead of panic.
sourcepub fn contract_data(&self) -> ContractData
pub fn contract_data(&self) -> ContractData
Get a ContractData for accessing and update contract data that has been stored by the currently executing contract.
sourcepub fn events(&self) -> Events
pub fn events(&self) -> Events
Get Events for publishing events associated with the currently executing contract.
sourcepub fn get_current_contract(&self) -> BytesN<32>
pub fn get_current_contract(&self) -> BytesN<32>
Get the 32-byte hash identifier of the current executing contract.
sourcepub fn get_invoking_contract(&self) -> BytesN<32>
pub fn get_invoking_contract(&self) -> BytesN<32>
Get the 32-byte hash identifier of the contract that invoked this contract.
Panics
Will panic the contract was not invoked by another contract.
sourcepub fn compute_hash_sha256(&self, msg: Bytes) -> BytesN<32>
pub fn compute_hash_sha256(&self, msg: Bytes) -> BytesN<32>
Computes a SHA-256 hash.
sourcepub fn verify_sig_ed25519(&self, pk: BytesN<32>, msg: Bytes, sig: BytesN<64>)
pub fn verify_sig_ed25519(&self, pk: BytesN<32>, msg: Bytes, sig: BytesN<64>)
sourceimpl Env
impl Env
sourcepub fn set_ledger(&self, li: LedgerInfo)
Available on crate feature testutils
only.
pub fn set_ledger(&self, li: LedgerInfo)
testutils
only.Sets ledger information in the Env, which will be accessible via Env::ledger.
sourcepub fn register_contract<T: ContractFunctionSet + 'static>(
&self,
contract_id: &BytesN<32>,
contract: T
)
Available on crate feature testutils
only.
pub fn register_contract<T: ContractFunctionSet + 'static>(
&self,
contract_id: &BytesN<32>,
contract: T
)
testutils
only.Register a contract with the Env for testing.
Examples
use soroban_sdk::{contractimpl, BytesN, Env, Symbol};
pub struct HelloContract;
#[contractimpl]
impl HelloContract {
pub fn hello(env: Env, recipient: soroban_sdk::Symbol) -> soroban_sdk::Symbol {
todo!()
}
}
let env = Env::default();
let contract_id = BytesN::from_array(&env, &[0; 32]);
env.register_contract(&contract_id, HelloContract);
sourcepub fn register_contract_wasm(
&self,
contract_id: &BytesN<32>,
contract_wasm: &[u8]
)
Available on crate feature testutils
only.
pub fn register_contract_wasm(
&self,
contract_id: &BytesN<32>,
contract_wasm: &[u8]
)
testutils
only.Register a contract in a WASM file with the Env for testing.
Examples
use soroban_sdk::{BytesN, Env};
const WASM: &[u8] = include_bytes!("../doctest_fixtures/contract.wasm");
let env = Env::default();
let contract_id = BytesN::from_array(&env, &[0; 32]);
env.register_contract_wasm(&contract_id, WASM);
sourcepub fn register_contract_token(&self, contract_id: &BytesN<32>)
Available on crate feature testutils
only.
pub fn register_contract_token(&self, contract_id: &BytesN<32>)
testutils
only.pub fn assert_panic_with_string<F, T: Debug>(&self, s: &str, f: F) where
F: FnOnce(Env) -> T,
testutils
only.pub fn assert_panic_with_status<F, T: Debug>(&self, status: Status, f: F) where
F: FnOnce(Env) -> T,
testutils
only.Trait Implementations
sourceimpl<T> IntoVal<Env, Object> for Vec<T> where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<T> IntoVal<Env, Object> for Vec<T> where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
fn into_val(self, _env: &Env) -> Object
fn into_env_val(self, env: &E) -> EnvVal<E, V>
sourceimpl<K, V> IntoVal<Env, RawVal> for &Map<K, V> where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<K, V> IntoVal<Env, RawVal> for &Map<K, V> where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
sourceimpl<T> IntoVal<Env, RawVal> for &Vec<T> where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<T> IntoVal<Env, RawVal> for &Vec<T> where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
sourceimpl<K, V> IntoVal<Env, RawVal> for Map<K, V> where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<K, V> IntoVal<Env, RawVal> for Map<K, V> where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
sourceimpl<T> IntoVal<Env, RawVal> for Vec<T> where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<T> IntoVal<Env, RawVal> for Vec<T> where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
for<'a> &'a T6: IntoVal<Env, RawVal>,
for<'a> &'a T7: IntoVal<Env, RawVal>,
for<'a> &'a T8: IntoVal<Env, RawVal>,
for<'a> &'a T9: IntoVal<Env, RawVal>,
for<'a> &'a T10: IntoVal<Env, RawVal>,
for<'a> &'a T11: IntoVal<Env, RawVal>,
for<'a> &'a T12: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
for<'a> &'a T6: IntoVal<Env, RawVal>,
for<'a> &'a T7: IntoVal<Env, RawVal>,
for<'a> &'a T8: IntoVal<Env, RawVal>,
for<'a> &'a T9: IntoVal<Env, RawVal>,
for<'a> &'a T10: IntoVal<Env, RawVal>,
for<'a> &'a T11: IntoVal<Env, RawVal>,
for<'a> &'a T12: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
for<'a> &'a T6: IntoVal<Env, RawVal>,
for<'a> &'a T7: IntoVal<Env, RawVal>,
for<'a> &'a T8: IntoVal<Env, RawVal>,
for<'a> &'a T9: IntoVal<Env, RawVal>,
for<'a> &'a T10: IntoVal<Env, RawVal>,
for<'a> &'a T11: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
for<'a> &'a T6: IntoVal<Env, RawVal>,
for<'a> &'a T7: IntoVal<Env, RawVal>,
for<'a> &'a T8: IntoVal<Env, RawVal>,
for<'a> &'a T9: IntoVal<Env, RawVal>,
for<'a> &'a T10: IntoVal<Env, RawVal>,
for<'a> &'a T11: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
for<'a> &'a T6: IntoVal<Env, RawVal>,
for<'a> &'a T7: IntoVal<Env, RawVal>,
for<'a> &'a T8: IntoVal<Env, RawVal>,
for<'a> &'a T9: IntoVal<Env, RawVal>,
for<'a> &'a T10: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
for<'a> &'a T6: IntoVal<Env, RawVal>,
for<'a> &'a T7: IntoVal<Env, RawVal>,
for<'a> &'a T8: IntoVal<Env, RawVal>,
for<'a> &'a T9: IntoVal<Env, RawVal>,
for<'a> &'a T10: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
for<'a> &'a T6: IntoVal<Env, RawVal>,
for<'a> &'a T7: IntoVal<Env, RawVal>,
for<'a> &'a T8: IntoVal<Env, RawVal>,
for<'a> &'a T9: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
for<'a> &'a T6: IntoVal<Env, RawVal>,
for<'a> &'a T7: IntoVal<Env, RawVal>,
for<'a> &'a T8: IntoVal<Env, RawVal>,
for<'a> &'a T9: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7, T8> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5, T6, T7, T8) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
for<'a> &'a T6: IntoVal<Env, RawVal>,
for<'a> &'a T7: IntoVal<Env, RawVal>,
for<'a> &'a T8: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5, T6, T7, T8) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
for<'a> &'a T6: IntoVal<Env, RawVal>,
for<'a> &'a T7: IntoVal<Env, RawVal>,
for<'a> &'a T8: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5, T6, T7) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
for<'a> &'a T6: IntoVal<Env, RawVal>,
for<'a> &'a T7: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5, T6, T7) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
for<'a> &'a T6: IntoVal<Env, RawVal>,
for<'a> &'a T7: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5, T6> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5, T6) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
for<'a> &'a T6: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5, T6> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5, T6) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
for<'a> &'a T6: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4, T5) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
for<'a> &'a T5: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3, T4) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
for<'a> &'a T4: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2, T3) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
for<'a> &'a T3: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
impl<T0, T1, T2> IntoVal<Env, Vec<RawVal>> for &(T0, T1, T2) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
for<'a> &'a T2: IntoVal<Env, RawVal>,
sourceimpl<T0, T1> IntoVal<Env, Vec<RawVal>> for &(T0, T1) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
impl<T0, T1> IntoVal<Env, Vec<RawVal>> for &(T0, T1) where
for<'a> &'a T0: IntoVal<Env, RawVal>,
for<'a> &'a T1: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
T6: IntoVal<Env, RawVal>,
T7: IntoVal<Env, RawVal>,
T8: IntoVal<Env, RawVal>,
T9: IntoVal<Env, RawVal>,
T10: IntoVal<Env, RawVal>,
T11: IntoVal<Env, RawVal>,
T12: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
T6: IntoVal<Env, RawVal>,
T7: IntoVal<Env, RawVal>,
T8: IntoVal<Env, RawVal>,
T9: IntoVal<Env, RawVal>,
T10: IntoVal<Env, RawVal>,
T11: IntoVal<Env, RawVal>,
T12: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
T6: IntoVal<Env, RawVal>,
T7: IntoVal<Env, RawVal>,
T8: IntoVal<Env, RawVal>,
T9: IntoVal<Env, RawVal>,
T10: IntoVal<Env, RawVal>,
T11: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
T6: IntoVal<Env, RawVal>,
T7: IntoVal<Env, RawVal>,
T8: IntoVal<Env, RawVal>,
T9: IntoVal<Env, RawVal>,
T10: IntoVal<Env, RawVal>,
T11: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
T6: IntoVal<Env, RawVal>,
T7: IntoVal<Env, RawVal>,
T8: IntoVal<Env, RawVal>,
T9: IntoVal<Env, RawVal>,
T10: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
T6: IntoVal<Env, RawVal>,
T7: IntoVal<Env, RawVal>,
T8: IntoVal<Env, RawVal>,
T9: IntoVal<Env, RawVal>,
T10: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
T6: IntoVal<Env, RawVal>,
T7: IntoVal<Env, RawVal>,
T8: IntoVal<Env, RawVal>,
T9: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
T6: IntoVal<Env, RawVal>,
T7: IntoVal<Env, RawVal>,
T8: IntoVal<Env, RawVal>,
T9: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7, T8> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
T6: IntoVal<Env, RawVal>,
T7: IntoVal<Env, RawVal>,
T8: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7, T8) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
T6: IntoVal<Env, RawVal>,
T7: IntoVal<Env, RawVal>,
T8: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
T6: IntoVal<Env, RawVal>,
T7: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5, T6, T7> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5, T6, T7) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
T6: IntoVal<Env, RawVal>,
T7: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5, T6> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5, T6) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
T6: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5, T6> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5, T6) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
T6: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4, T5> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4, T5> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4, T5) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
T5: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3, T4> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3, T4> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3, T4) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
T4: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2, T3> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
impl<T0, T1, T2, T3> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2, T3) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
T3: IntoVal<Env, RawVal>,
sourceimpl<T0, T1, T2> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
impl<T0, T1, T2> IntoVal<Env, Vec<RawVal>> for (T0, T1, T2) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
T2: IntoVal<Env, RawVal>,
sourceimpl<T0, T1> IntoVal<Env, Vec<RawVal>> for (T0, T1) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
impl<T0, T1> IntoVal<Env, Vec<RawVal>> for (T0, T1) where
T0: IntoVal<Env, RawVal>,
T1: IntoVal<Env, RawVal>,
sourceimpl TryFromVal<Env, Object> for Account
impl TryFromVal<Env, Object> for Account
type Error = ConversionError
fn try_from_val(env: &Env, val: Object) -> Result<Self, Self::Error>
sourceimpl TryFromVal<Env, Object> for BigInt
impl TryFromVal<Env, Object> for BigInt
type Error = ConversionError
fn try_from_val(env: &Env, val: Object) -> Result<Self, Self::Error>
sourceimpl TryFromVal<Env, Object> for Bytes
impl TryFromVal<Env, Object> for Bytes
type Error = ConversionError
fn try_from_val(env: &Env, val: Object) -> Result<Self, Self::Error>
sourceimpl<const N: usize> TryFromVal<Env, Object> for BytesN<N>
impl<const N: usize> TryFromVal<Env, Object> for BytesN<N>
type Error = ConversionError
fn try_from_val(env: &Env, val: Object) -> Result<Self, Self::Error>
sourceimpl<K, V> TryFromVal<Env, Object> for Map<K, V> where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<K, V> TryFromVal<Env, Object> for Map<K, V> where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
type Error = ConversionError
fn try_from_val(env: &Env, obj: Object) -> Result<Self, Self::Error>
sourceimpl<T> TryFromVal<Env, Object> for Vec<T> where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<T> TryFromVal<Env, Object> for Vec<T> where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
type Error = ConversionError
fn try_from_val(env: &Env, obj: Object) -> Result<Self, Self::Error>
sourceimpl TryFromVal<Env, RawVal> for Account
impl TryFromVal<Env, RawVal> for Account
sourceimpl TryFromVal<Env, RawVal> for BigInt
impl TryFromVal<Env, RawVal> for BigInt
sourceimpl TryFromVal<Env, RawVal> for Bytes
impl TryFromVal<Env, RawVal> for Bytes
sourceimpl<const N: usize> TryFromVal<Env, RawVal> for BytesN<N>
impl<const N: usize> TryFromVal<Env, RawVal> for BytesN<N>
type Error = ConversionError
fn try_from_val(env: &Env, val: RawVal) -> Result<Self, Self::Error>
sourceimpl<K, V> TryFromVal<Env, RawVal> for Map<K, V> where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<K, V> TryFromVal<Env, RawVal> for Map<K, V> where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
sourceimpl<T> TryFromVal<Env, RawVal> for Vec<T> where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<T> TryFromVal<Env, RawVal> for Vec<T> where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
sourceimpl TryFromVal<Env, ScVal> for BigInt
impl TryFromVal<Env, ScVal> for BigInt
type Error = ConversionError
fn try_from_val(env: &Env, val: ScVal) -> Result<Self, Self::Error>
sourceimpl TryFromVal<Env, ScVal> for Bytes
impl TryFromVal<Env, ScVal> for Bytes
type Error = ConversionError
fn try_from_val(env: &Env, val: ScVal) -> Result<Self, Self::Error>
sourceimpl<const N: usize> TryFromVal<Env, ScVal> for BytesN<N>
impl<const N: usize> TryFromVal<Env, ScVal> for BytesN<N>
type Error = ConversionError
fn try_from_val(env: &Env, val: ScVal) -> Result<Self, Self::Error>
sourceimpl<K, V> TryFromVal<Env, ScVal> for Map<K, V> where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<K, V> TryFromVal<Env, ScVal> for Map<K, V> where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
type Error = ConversionError
fn try_from_val(env: &Env, val: ScVal) -> Result<Self, Self::Error>
sourceimpl<T> TryFromVal<Env, ScVal> for Vec<T> where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<T> TryFromVal<Env, ScVal> for Vec<T> where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
type Error = ConversionError
fn try_from_val(env: &Env, val: ScVal) -> Result<Self, Self::Error>
sourceimpl TryIntoVal<Env, BigInt> for Object
impl TryIntoVal<Env, BigInt> for Object
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<BigInt, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl TryIntoVal<Env, BigInt> for RawVal
impl TryIntoVal<Env, BigInt> for RawVal
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<BigInt, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl TryIntoVal<Env, BigInt> for ScVal
impl TryIntoVal<Env, BigInt> for ScVal
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<BigInt, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl TryIntoVal<Env, Bytes> for Object
impl TryIntoVal<Env, Bytes> for Object
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<Bytes, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl TryIntoVal<Env, Bytes> for RawVal
impl TryIntoVal<Env, Bytes> for RawVal
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<Bytes, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl TryIntoVal<Env, Bytes> for ScVal
impl TryIntoVal<Env, Bytes> for ScVal
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<Bytes, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl<const N: usize> TryIntoVal<Env, BytesN<N>> for Object
impl<const N: usize> TryIntoVal<Env, BytesN<N>> for Object
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<BytesN<N>, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl<const N: usize> TryIntoVal<Env, BytesN<N>> for RawVal
impl<const N: usize> TryIntoVal<Env, BytesN<N>> for RawVal
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<BytesN<N>, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl<const N: usize> TryIntoVal<Env, BytesN<N>> for ScVal
impl<const N: usize> TryIntoVal<Env, BytesN<N>> for ScVal
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<BytesN<N>, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl<K, V> TryIntoVal<Env, Map<K, V>> for Object where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<K, V> TryIntoVal<Env, Map<K, V>> for Object where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<Map<K, V>, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl<K, V> TryIntoVal<Env, Map<K, V>> for RawVal where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<K, V> TryIntoVal<Env, Map<K, V>> for RawVal where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<Map<K, V>, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl<K, V> TryIntoVal<Env, Map<K, V>> for ScVal where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<K, V> TryIntoVal<Env, Map<K, V>> for ScVal where
K: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
V: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<Map<K, V>, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl<T> TryIntoVal<Env, Vec<T>> for Object where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<T> TryIntoVal<Env, Vec<T>> for Object where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<Vec<T>, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl<T> TryIntoVal<Env, Vec<T>> for RawVal where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<T> TryIntoVal<Env, Vec<T>> for RawVal where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<Vec<T>, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
sourceimpl<T> TryIntoVal<Env, Vec<T>> for ScVal where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
impl<T> TryIntoVal<Env, Vec<T>> for ScVal where
T: IntoVal<Env, RawVal> + TryFromVal<Env, RawVal>,
type Error = ConversionError
fn try_into_val(self, env: &Env) -> Result<Vec<T>, Self::Error>
fn try_into_env_val(self, env: &E) -> Result<EnvVal<E, V>, Self::Error>
Auto Trait Implementations
impl !RefUnwindSafe for Env
impl !Send for Env
impl !Sync for Env
impl Unpin for Env
impl !UnwindSafe for Env
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more