Struct Client

Source
pub struct Client { /* private fields */ }

Implementations§

Source§

impl Client

Source

pub async fn select_coins( &self, owner_address: &Address, coin_type: &TypeTag, amount: u64, exclude: &[Address], ) -> Result<Vec<Object>, Status>

Selects coins of a specific type owned by an address until the total value meets the required amount.

§Arguments
  • owner_address - The address that owns the coins
  • coin_type - The TypeTag of coins to select
  • amount - The minimum total amount needed
  • exclude - Array of addresses to exclude from selection
§Returns

A vector of Object instances representing the selected coins

§Errors

Returns an error if there are insufficient funds to meet the required amount or if there is an RPC error

Source

pub async fn select_up_to_n_largest_coins( &self, owner_address: &Address, coin_type: &TypeTag, n: usize, exclude: &[Address], ) -> Result<Vec<Object>, Status>

Selects up to N coins of a specific type owned by an address.

§Arguments
  • owner_address - The address that owns the coins
  • coin_type - The TypeTag of coins to select
  • n - The maximum number of coins to select
  • exclude - Array of addresses to exclude from selection
§Returns

A vector of Object instances representing the selected coins (may be fewer than n if not enough coins are available)

§Errors

Returns an error if there is an RPC error during coin retrieval

Source§

impl Client

Source

pub fn list_owned_objects( &self, request: impl IntoRequest<ListOwnedObjectsRequest>, ) -> impl Stream<Item = Result<Object, Status>> + 'static

Creates a stream of objects based on the provided request.

The stream handles pagination automatically by using the page_token from responses to fetch subsequent pages. The original request’s page_token is used as the starting point.

§Arguments
  • request - The initial ListOwnedObjectsRequest with search criteria
§Returns

A stream that yields Result<Object> instances. If any RPC call fails, the tonic::Status from that request is returned.

Source

pub fn list_dynamic_fields( &self, request: impl IntoRequest<ListDynamicFieldsRequest>, ) -> impl Stream<Item = Result<DynamicField, Status>> + 'static

Creates a stream of DynamicFields based on the provided request.

The stream handles pagination automatically by using the page_token from responses to fetch subsequent pages. The original request’s page_token is used as the starting point.

§Arguments
  • request - The initial ListDynamicFieldsRequest with search criteria
§Returns

A stream that yields Result<DynamicField> instances. If any RPC call fails, the tonic::Status from that request is returned.

Source

pub fn list_balances( &self, request: impl IntoRequest<ListBalancesRequest>, ) -> impl Stream<Item = Result<Balance, Status>> + 'static

Creates a stream of Balances based on the provided request.

The stream handles pagination automatically by using the page_token from responses to fetch subsequent pages. The original request’s page_token is used as the starting point.

§Arguments
  • request - The initial ListBalancesRequest with search criteria
§Returns

A stream that yields Result<Balance> instances. If any RPC call fails, the tonic::Status from that request is returned.

Source

pub fn list_package_versions( &self, request: impl IntoRequest<ListPackageVersionsRequest>, ) -> impl Stream<Item = Result<PackageVersion, Status>> + 'static

Creates a stream of PackageVersions based on the provided request.

The stream handles pagination automatically by using the page_token from responses to fetch subsequent pages. The original request’s page_token is used as the starting point.

§Arguments
  • request - The initial ListPackageVersionsRequest with search criteria
§Returns

A stream that yields Result<PackageVersion> instances. If any RPC call fails, the tonic::Status from that request is returned.

Source§

impl Client

Source

pub async fn get_delegated_stake( &mut self, staked_sui_id: &Address, ) -> Result<DelegatedStake, Status>

Source

pub async fn list_delegated_stake( &mut self, address: &Address, ) -> Result<Vec<DelegatedStake>, Status>

Source§

impl Client

Source

pub async fn execute_transaction_and_wait_for_checkpoint( &mut self, request: impl IntoRequest<ExecuteTransactionRequest>, timeout: Duration, ) -> Result<Response<ExecuteTransactionResponse>, ExecuteAndWaitError>

Executes a transaction and waits for it to be included in a checkpoint.

This method provides “read your writes” consistency by executing the transaction and waiting for it to appear in a checkpoint, which gauruntees indexes have been updated on this node.

§Arguments
  • request - The transaction execution request (ExecuteTransactionRequest)
  • timeout - Maximum time to wait for indexing confirmation
§Returns

A Result containing the response if the transaction was executed and checkpoint confirmed, or an error that may still include the response if execution succeeded but checkpoint confirmation failed.

Source

pub async fn get_reference_gas_price(&mut self) -> Result<u64, Status>

Retrieves the current reference gas price from the latest epoch information.

§Returns

The reference gas price as a u64

§Errors

Returns an error if there is an RPC error when fetching the epoch information

Source§

impl Client

Source

pub const MAINNET_FULLNODE: &str = "https://fullnode.mainnet.sui.io"

URL for the public-good, Sui Foundation provided fullnodes for mainnet.

Source

pub const TESTNET_FULLNODE: &str = "https://fullnode.testnet.sui.io"

URL for the public-good, Sui Foundation provided fullnodes for testnet.

Source

pub const DEVNET_FULLNODE: &str = "https://fullnode.devnet.sui.io"

URL for the public-good, Sui Foundation provided fullnodes for devnet.

Source

pub const MAINNET_ARCHIVE: &str = "https://archive.mainnet.sui.io"

URL for the public-good, Sui Foundation provided archive for mainnet.

Source

pub const TESTNET_ARCHIVE: &str = "https://archive.testnet.sui.io"

URL for the public-good, Sui Foundation provided archive for testnet.

Source

pub fn new<T>(uri: T) -> Result<Self, Status>
where T: TryInto<Uri>, T::Error: Into<Box<dyn Error + Send + Sync + 'static>>,

Source

pub fn with_auth(self, auth: AuthInterceptor) -> Self

Source

pub fn with_max_decoding_message_size(self, limit: usize) -> Self

Source

pub fn uri(&self) -> &Uri

Source

pub fn ledger_client( &mut self, ) -> LedgerServiceClient<InterceptedService<&'_ mut Channel, &'_ mut AuthInterceptor>>

Source

pub fn state_client( &mut self, ) -> StateServiceClient<InterceptedService<&'_ mut Channel, &'_ mut AuthInterceptor>>

Source

pub fn execution_client( &mut self, ) -> TransactionExecutionServiceClient<InterceptedService<&'_ mut Channel, &'_ mut AuthInterceptor>>

Source

pub fn package_client( &mut self, ) -> MovePackageServiceClient<InterceptedService<&'_ mut Channel, &'_ mut AuthInterceptor>>

Source

pub fn signature_verification_client( &mut self, ) -> SignatureVerificationServiceClient<InterceptedService<&'_ mut Channel, &'_ mut AuthInterceptor>>

Source

pub fn subscription_client( &mut self, ) -> SubscriptionServiceClient<InterceptedService<&'_ mut Channel, &'_ mut AuthInterceptor>>

Trait Implementations§

Source§

impl Clone for Client

Source§

fn clone(&self) -> Client

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 Client

§

impl !RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl !UnwindSafe for Client

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
§

impl<U> As for U

§

fn as_<T>(self) -> T
where T: CastFrom<U>,

Casts self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. 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
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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
§

impl<T> IntoRequest<T> for T

§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<L> LayerExt<L> for L

§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in [Layered].
§

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

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
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
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

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