Struct Operations

Source
pub struct Operations;
Expand description

Factory for creating Soroban operations.

This struct provides methods to create operations for common Soroban tasks, such as uploading contract WASM, deploying contracts, and invoking contract functions. These operations can be added to transactions and submitted to the Stellar network.

Implementations§

Source§

impl Operations

Source

pub fn upload_wasm(wasm_bytes: Vec<u8>) -> Result<Operation, SorobanHelperError>

Creates an operation to upload contract WASM code to the Stellar network.

§Parameters
  • wasm_bytes - The raw WASM bytecode to upload
§Returns

An operation that can be added to a transaction to upload the WASM

§Errors

Returns SorobanHelperError::XdrEncodingFailed if the WASM bytes cannot be encoded into the XDR format

Source

pub fn create_contract( contract_id_preimage: ContractIdPreimage, wasm_hash: Hash, constructor_args: Option<Vec<ScVal>>, ) -> Result<Operation, SorobanHelperError>

Creates an operation to deploy a contract to the Stellar network.

§Parameters
  • contract_id_preimage - The preimage used to derive the contract ID
  • wasm_hash - The hash of the previously uploaded WASM code
  • constructor_args - Optional arguments to pass to the contract constructor
§Returns

An operation that can be added to a transaction to deploy the contract

§Errors

Returns SorobanHelperError::XdrEncodingFailed if any of the arguments cannot be encoded into the XDR format

Source

pub fn invoke_contract( contract_id: &Contract, function_name: &str, args: Vec<ScVal>, ) -> Result<Operation, SorobanHelperError>

Creates an operation to invoke a function on a deployed contract.

§Parameters
  • contract_id - The ID of the deployed contract
  • function_name - The name of the function to invoke
  • args - Arguments to pass to the function
§Returns

An operation that can be added to a transaction to invoke the contract function

§Errors

Returns:

  • SorobanHelperError::InvalidArgument if the function name is invalid
  • SorobanHelperError::XdrEncodingFailed if the arguments cannot be encoded
Source

pub fn send_payment( to: AccountId, amount: i64, asset: Asset, ) -> Result<Operation, SorobanHelperError>

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