pub struct Client { /* private fields */ }
Implementations§
Source§impl Client
impl Client
Sourcepub async fn select_coins(
&self,
owner_address: &Address,
coin_type: &TypeTag,
amount: u64,
exclude: &[Address],
) -> Result<Vec<Object>, Status>
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 coinscoin_type
- The TypeTag of coins to selectamount
- The minimum total amount neededexclude
- 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
Sourcepub async fn select_up_to_n_largest_coins(
&self,
owner_address: &Address,
coin_type: &TypeTag,
n: usize,
exclude: &[Address],
) -> Result<Vec<Object>, Status>
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 coinscoin_type
- The TypeTag of coins to selectn
- The maximum number of coins to selectexclude
- 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
impl Client
Sourcepub fn list_owned_objects(
&self,
request: impl IntoRequest<ListOwnedObjectsRequest>,
) -> impl Stream<Item = Result<Object, Status>> + 'static
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 initialListOwnedObjectsRequest
with search criteria
§Returns
A stream that yields Result<Object>
instances. If any RPC call fails, the
tonic::Status from that request is returned.
Sourcepub fn list_dynamic_fields(
&self,
request: impl IntoRequest<ListDynamicFieldsRequest>,
) -> impl Stream<Item = Result<DynamicField, Status>> + 'static
pub fn list_dynamic_fields( &self, request: impl IntoRequest<ListDynamicFieldsRequest>, ) -> impl Stream<Item = Result<DynamicField, Status>> + 'static
Creates a stream of DynamicField
s 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 initialListDynamicFieldsRequest
with search criteria
§Returns
A stream that yields Result<DynamicField>
instances. If any RPC call fails, the
tonic::Status from that request is returned.
Sourcepub fn list_balances(
&self,
request: impl IntoRequest<ListBalancesRequest>,
) -> impl Stream<Item = Result<Balance, Status>> + 'static
pub fn list_balances( &self, request: impl IntoRequest<ListBalancesRequest>, ) -> impl Stream<Item = Result<Balance, Status>> + 'static
Creates a stream of Balance
s 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 initialListBalancesRequest
with search criteria
§Returns
A stream that yields Result<Balance>
instances. If any RPC call fails, the
tonic::Status from that request is returned.
Sourcepub fn list_package_versions(
&self,
request: impl IntoRequest<ListPackageVersionsRequest>,
) -> impl Stream<Item = Result<PackageVersion, Status>> + 'static
pub fn list_package_versions( &self, request: impl IntoRequest<ListPackageVersionsRequest>, ) -> impl Stream<Item = Result<PackageVersion, Status>> + 'static
Creates a stream of PackageVersion
s 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 initialListPackageVersionsRequest
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
impl Client
pub async fn get_delegated_stake( &mut self, staked_sui_id: &Address, ) -> Result<DelegatedStake, Status>
pub async fn list_delegated_stake( &mut self, address: &Address, ) -> Result<Vec<DelegatedStake>, Status>
Source§impl Client
impl Client
Sourcepub async fn execute_transaction_and_wait_for_checkpoint(
&mut self,
request: impl IntoRequest<ExecuteTransactionRequest>,
timeout: Duration,
) -> Result<Response<ExecuteTransactionResponse>, ExecuteAndWaitError>
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§impl Client
impl Client
Sourcepub const MAINNET_FULLNODE: &str = "https://fullnode.mainnet.sui.io"
pub const MAINNET_FULLNODE: &str = "https://fullnode.mainnet.sui.io"
URL for the public-good, Sui Foundation provided fullnodes for mainnet.
Sourcepub const TESTNET_FULLNODE: &str = "https://fullnode.testnet.sui.io"
pub const TESTNET_FULLNODE: &str = "https://fullnode.testnet.sui.io"
URL for the public-good, Sui Foundation provided fullnodes for testnet.
Sourcepub const DEVNET_FULLNODE: &str = "https://fullnode.devnet.sui.io"
pub const DEVNET_FULLNODE: &str = "https://fullnode.devnet.sui.io"
URL for the public-good, Sui Foundation provided fullnodes for devnet.
Sourcepub const MAINNET_ARCHIVE: &str = "https://archive.mainnet.sui.io"
pub const MAINNET_ARCHIVE: &str = "https://archive.mainnet.sui.io"
URL for the public-good, Sui Foundation provided archive for mainnet.
Sourcepub const TESTNET_ARCHIVE: &str = "https://archive.testnet.sui.io"
pub const TESTNET_ARCHIVE: &str = "https://archive.testnet.sui.io"
URL for the public-good, Sui Foundation provided archive for testnet.
pub fn new<T>(uri: T) -> Result<Self, Status>
pub fn with_auth(self, auth: AuthInterceptor) -> Self
pub fn with_max_decoding_message_size(self, limit: usize) -> Self
pub fn uri(&self) -> &Uri
pub fn ledger_client( &mut self, ) -> LedgerServiceClient<InterceptedService<&'_ mut Channel, &'_ mut AuthInterceptor>>
pub fn state_client( &mut self, ) -> StateServiceClient<InterceptedService<&'_ mut Channel, &'_ mut AuthInterceptor>>
pub fn execution_client( &mut self, ) -> TransactionExecutionServiceClient<InterceptedService<&'_ mut Channel, &'_ mut AuthInterceptor>>
pub fn package_client( &mut self, ) -> MovePackageServiceClient<InterceptedService<&'_ mut Channel, &'_ mut AuthInterceptor>>
pub fn signature_verification_client( &mut self, ) -> SignatureVerificationServiceClient<InterceptedService<&'_ mut Channel, &'_ mut AuthInterceptor>>
pub fn subscription_client( &mut self, ) -> SubscriptionServiceClient<InterceptedService<&'_ mut Channel, &'_ mut AuthInterceptor>>
Trait Implementations§
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§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
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 moreSource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered
].§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
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) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
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
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
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
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
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
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.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
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.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
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.