zephyr_sdk

Struct EnvClient

source
pub struct EnvClient { /* private fields */ }
Expand description

Zephyr’s host environment client.

Implementations§

source§

impl EnvClient

source

pub fn log(&self) -> EnvLogger

Returns the logger object.

source

pub fn soroban(&self) -> &Env

Returns a soroban host stub.

source

pub fn from_scval<T: TryFromVal<Env, Val>>(&self, scval: &ScVal) -> T

Converts an ScVal into a soroban host object. Returns a Soroban Val. Panics when the conversion fails.

source

pub fn try_from_scval<T: TryFromVal<Env, Val>>( &self, scval: &ScVal, ) -> Result<T, SdkError>

Converts an ScVal into a soroban host object. Returns a Soroban Val. Returns an error when the conversion fails.

source

pub fn to_scval<T: TryIntoVal<Env, Val>>(&self, val: T) -> ScVal

Converts an environment object to the corresponding scval xdr representation.

source

pub fn scval_to_valid_host_val<T: TryFromVal<Env, Val>>( &self, scval: &ScVal, ) -> Result<T, SdkError>

Converts an ScVal into a soroban host object. Returns a result with a Soroban Val.

source

pub fn send_web_request(&self, request: AgnosticRequest)

Sends a web request message requests to the host.

source

pub fn read<T: DatabaseInteract>(&self) -> Vec<T>

Reads a database table.

This function uses the DatabaseInteract trait along with the DatabaseDerive macro to read the rows into a DatabaseDerive struct.

source

pub fn read_filter(&self) -> TableQueryWrapper

Read a database table applying a column-level filter. Returns a filter object.

source

pub fn put<T: DatabaseInteract>(&self, row: &T)

Writes a row to a database table.

This function uses the DatabaseInteract trait along with the DatabaseDerive macro to write the row derived from the DatabaseDerive struct.

source

pub fn update(&self) -> TableQueryWrapper

Updates a row to a database table.

This function uses the DatabaseInteract trait along with the DatabaseDerive macro to update the row derived from the DatabaseDerive struct.

source

pub fn update_inner<T: DatabaseInteract>( &self, row: &T, conditions: &[Condition], )

Updates a row to a database table.

This function uses the DatabaseInteract trait along with the DatabaseDerive macro to update the row derived from the DatabaseDerive struct.

source

pub fn db_write( &self, table_name: &str, columns: &[&str], segments: &[&[u8]], ) -> Result<(), SdkError>

Raw function to write to the database a row.

source

pub fn db_update( &self, table_name: &str, columns: &[&str], segments: &[&[u8]], conditions: &[Condition], ) -> Result<(), SdkError>

Raw function to update a database row.

source

pub fn db_read( &self, table_name: &str, columns: &[&str], external: Option<i64>, conditions: Option<&[Condition]>, ) -> Result<TableRows, SdkError>

Raw function to read from database.

source

pub fn reader(&self) -> MetaReader<'_>

Returns the XDR reader object.

source

pub fn new() -> Self

New instance of the zephyr client with the ledger meta already set.

source

pub fn empty() -> Self

New empty instance of the zephyr client.

source

pub fn conclude<T: Serialize>(&self, result: T)

Send a result to the host.

This function has no effect when used in ingestion zephyr programs and should only be used with serverless functions as target.

source

pub fn read_request_body<'a, T: Deserialize<'a>>(&self) -> T

Read request body into the specified format type.

source

pub fn simulate_contract_call( &self, source: String, contract: [u8; 32], fname: Symbol, args: Vec<Val>, ) -> Result<InvokeHostFunctionSimulationResult, SdkError>

Wrapper around self.simulate. This is a simpler SDK handler which

source

pub fn simulate_contract_call_to_tx( &self, source: String, sequence_number: i64, contract: [u8; 32], fname: Symbol, args: Vec<Val>, ) -> Result<TransactionResponse, SdkError>

Wrapper around self.simulate. This is a simpler SDK handler which

source

pub fn simulate( &self, source: [u8; 32], function: HostFunction, ) -> Result<InvokeHostFunctionSimulationResult, SdkError>

Simulates any stellar host function.

source§

impl EnvClient

source

pub fn read_contract_instance( &self, contract: [u8; 32], ) -> Result<Option<ContractDataEntry>, SdkError>

Returns the instance object of a certain contract from the host’s ledger.

source

pub fn read_contract_entry_by_scvalkey( &self, contract: [u8; 32], key: ScVal, ) -> Result<Option<ContractDataEntry>, SdkError>

Returns the requested entry object of a certain contract from the host’s ledger.

source

pub fn read_full_contract_entry_by_key<T: TryIntoVal<Env, Val>>( &self, contract: [u8; 32], val: T, ) -> Result<Option<ContractDataEntry>, SdkError>

Returns the whole requested entry object of a certain contract from the host’s ledger.

source

pub fn read_contract_entry_by_key<T: TryIntoVal<Env, Val>, R: TryFromVal<Env, Val> + Debug>( &self, contract: [u8; 32], val: T, ) -> Result<Option<R>, SdkError>

Returns the requested entry object of a certain contract from the host’s ledger.

source

pub fn read_contract_entries( &self, contract: [u8; 32], ) -> Result<Vec<ContractDataEntry>, SdkError>

Returns all the entry objects of a certain contract from the host’s ledger.

source

pub fn read_contract_entries_to_env( &self, env: &Env, contract: [u8; 32], ) -> Result<Map<Val, Val>, SdkError>

Returns all the entry objects of a certain contract from the host’s ledger. This function retuns an iteraror over Soroban host objects, and should be used along with the Soroban SDK.

source

pub fn read_account_from_ledger( &self, account: [u8; 32], ) -> Result<Option<Account>, SdkError>

Read an account object from the ledger.

Trait Implementations§

source§

impl Clone for EnvClient

source§

fn clone(&self) -> EnvClient

Returns a copy of the value. Read more
1.6.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T, C> Compare<&T> for C
where C: Compare<T>,

source§

type Error = <C as Compare<T>>::Error

source§

fn compare(&self, a: &&T, b: &&T) -> Result<Ordering, <C as Compare<&T>>::Error>

source§

impl<T, U, E, C> Compare<(T, U)> for C
where C: Compare<T, Error = E, Error = E> + Compare<U>,

source§

type Error = E

source§

fn compare( &self, a: &(T, U), b: &(T, U), ) -> Result<Ordering, <C as Compare<(T, U)>>::Error>

source§

impl<T, U, V, E, C> Compare<(T, U, V)> for C
where C: Compare<T, Error = E, Error = E, Error = E> + Compare<U> + Compare<V>,

source§

impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
where C: Compare<T, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W>,

source§

impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
where C: Compare<T, Error = E, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W> + Compare<X>,

source§

impl<T, C> Compare<Box<T>> for C
where C: Compare<T>,

source§

type Error = <C as Compare<T>>::Error

source§

fn compare( &self, a: &Box<T>, b: &Box<T>, ) -> Result<Ordering, <C as Compare<Box<T>>>::Error>

source§

impl<T, C> Compare<Option<T>> for C
where C: Compare<T>,

source§

type Error = <C as Compare<T>>::Error

source§

fn compare( &self, a: &Option<T>, b: &Option<T>, ) -> Result<Ordering, <C as Compare<Option<T>>>::Error>

source§

impl<T, C> Compare<Rc<T>> for C
where C: Compare<T>,

source§

type Error = <C as Compare<T>>::Error

source§

fn compare( &self, a: &Rc<T>, b: &Rc<T>, ) -> Result<Ordering, <C as Compare<Rc<T>>>::Error>

source§

impl<T, C> Compare<Vec<T>> for C
where C: Compare<T>,

source§

type Error = <C as Compare<T>>::Error

source§

fn compare( &self, a: &Vec<T>, b: &Vec<T>, ) -> Result<Ordering, <C as Compare<Vec<T>>>::Error>

source§

impl<T> Downcast for T
where T: Any,

source§

fn into_any(self: Box<T>) -> Box<dyn Any>

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.
source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
source§

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.
source§

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.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<E, T, U> IntoVal<E, T> for U
where E: Env, T: FromVal<E, U>,

source§

fn into_val(&self, e: &E) -> T

source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<E, T, U> TryIntoVal<E, T> for U
where E: Env, T: TryFromVal<E, U>,

source§

type Error = <T as TryFromVal<E, U>>::Error

source§

fn try_into_val(&self, env: &E) -> Result<T, <U as TryIntoVal<E, T>>::Error>

source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V