Struct zephyr_sdk::EnvClient

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

Zephyr’s host environment client.

Implementations§

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_key( &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_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§

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 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 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) -> UpdateTable

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] ) -> 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.

Trait Implementations§

source§

impl Clone for EnvClient

source§

fn clone(&self) -> EnvClient

Returns a copy of the value. Read more
1.0.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, C> Compare<&T> for C
where C: Compare<T>,

§

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>,

§

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>,

§

type Error = E

source§

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

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>,

§

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>,

§

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>,

§

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>,

§

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

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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>,

§

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>,

§

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