Struct Env

Source
pub struct Env { /* private fields */ }
Expand description

The environment for Soroban operations.

Provides access to network functionality such as retrieving account information, simulating transactions, and submitting transactions to the network.

Implementations§

Source§

impl Env

Source

pub fn new(configs: EnvConfigs) -> Result<Self, SorobanHelperError>

Creates a new environment with the specified configuration.

§Parameters
  • configs - The environment configuration including RPC URL and network passphrase
§Returns

A new Env instance or an error if the RPC client could not be created

§Errors

Returns SorobanHelperError if the RPC client initialization fails

Source

pub fn network_passphrase(&self) -> &str

Returns the network passphrase for this environment.

The network passphrase is a string that uniquely identifies a Stellar network, such as “Public Global Stellar Network ; September 2015” for the public network or “Test SDF Network ; September 2015” for the testnet.

§Returns

The network passphrase as a string slice

Source

pub fn network_id(&self) -> Hash

Calculates the network ID hash from the network passphrase.

The network ID is the SHA-256 hash of the network passphrase and is used in various cryptographic operations, including transaction signing.

§Returns

The SHA-256 hash of the network passphrase

Source

pub async fn get_account( &self, account_id: &str, ) -> Result<AccountEntry, SorobanHelperError>

Retrieves account information from the network.

§Parameters
  • account_id - The Stellar account ID to retrieve
§Returns

The account entry information or an error if the account could not be retrieved

§Errors

Returns SorobanHelperError::NetworkRequestFailed if the RPC request fails

Source

pub async fn simulate_transaction( &self, tx_envelope: &TransactionEnvelope, ) -> Result<SimulateTransactionResponse, SorobanHelperError>

Simulates a transaction without submitting it to the network.

This is useful for estimating transaction costs, validating transactions, and retrieving the expected results of contract invocations.

§Parameters
  • tx_envelope - The transaction envelope to simulate
§Returns

The simulation response or an error if the simulation failed

§Errors

Returns SorobanHelperError::NetworkRequestFailed if the RPC request fails

Source

pub async fn send_transaction( &self, tx_envelope: &TransactionEnvelope, ) -> Result<SorobanTransactionResponse, SorobanHelperError>

Submits a transaction to the network and waits for the result.

§Parameters
  • tx_envelope - The signed transaction envelope to submit
§Returns

The transaction response or an error if the transaction failed

§Errors

Returns:

  • SorobanHelperError::ContractCodeAlreadyExists if the transaction failed because the contract code already exists
  • SorobanHelperError::NetworkRequestFailed for other transaction failures

Trait Implementations§

Source§

impl Clone for Env

Source§

fn clone(&self) -> Env

Returns a duplicate 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§

§

impl Freeze for Env

§

impl !RefUnwindSafe for Env

§

impl Send for Env

§

impl Sync for Env

§

impl Unpin for Env

§

impl !UnwindSafe for Env

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, dest: *mut u8)

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSend for T
where T: Send,