SuiClient class
Legacy JSON-RPC client for a Sui full node.
JSON-RPC is being decommissioned (fully off on 2026-07-31). New code should use SuiGrpcClient (gRPC-web) and SuiGraphQLClient (GraphQL) instead; this class is kept for backward compatibility during the migration.
Signs with the optional account; call setSigner to attach one later.
- Inheritance
-
- Object
- SignerWithProvider
- SuiClient
- Implemented types
Constructors
- SuiClient(String endpoint, {SuiAccount? account, RequestOptions? options})
-
Creates a client for the JSON-RPC
endpoint, optionally with a signingaccount. See SuiUrls for the well-known network endpoints.
Properties
- account → SuiAccount?
-
The signing account, or null if none has been set.
no setter
- client → JsonRpcClient
-
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- rpcClient ↔ JsonRpcClient
-
latefinalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- serializer ↔ TxnDataSerializer
-
latefinalinherited
Methods
-
addStake(
AddStakeTransaction transaction, {SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForLocalExecution}) → Future< SuiExecuteTransactionResponse> -
inherited
-
devInspectTransaction(
String sender, Uint8List txBytes, {BigInt? gasPrice, String? epoch}) → Future< DevInspectResults> -
inherited
-
devInspectTransactionBlock(
String sender, Transaction transaction, {BigInt? gasPrice, String? epoch}) → Future< DevInspectResults> -
Simulates
transactionfromsenderwithout submitting it, returning the execution effects and any return values. Useful for gas estimation and read-only Move calls. -
dryRunTransaction<
T> (T tx, {String? signerAddress}) → Future< DryRunTransactionBlockResponse> -
inherited
-
dryRunTransactionBlock(
String txBytes) → Future< DryRunTransactionBlockResponse> -
inherited
-
executeMoveCall(
MoveCallTransaction transaction, {SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForLocalExecution}) → Future< SuiExecuteTransactionResponse> -
inherited
-
executeTransaction(
{required Uint8List txnBytes, required SignatureScheme signatureScheme, required Uint8List signature, required PublicKey pubkey, SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForEffectsCert}) → Future< SuiExecuteTransactionResponse> -
inherited
-
executeTransactionBlock(
String transactionBlockBase64, List< String> signature, {SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForEffectsCert}) → Future<SuiExecuteTransactionResponse> -
inherited
-
getAddress(
) → SuiAddress -
override
-
getAllBalance(
String owner) → Future< List< CoinBalance> > -
inherited
-
getAllCoins(
String owner, {String? cursor, int? limit}) → Future< PaginatedCoins> -
inherited
-
getBalance(
String owner, {String coinType = "0x2::sui::SUI"}) → Future< CoinBalance> -
inherited
-
getBalanceBatch(
List< String> owner, {String coinType = "0x2::sui::SUI"}) → Future<List< CoinBalance> > -
inherited
-
getChainIdentifier(
) → Future< String> -
inherited
-
getCheckpoint(
String id) → Future< Checkpoint> -
inherited
-
getCheckpoints(
{String? cursor, int? limit, bool descendingOrder = false}) → Future< Paged< List< >Checkpoint> > -
inherited
-
getCoinMetadata(
String coinType) → Future< CoinMetadataStruct> -
inherited
-
getCoins(
String owner, {String? coinType, String? cursor, int? limit}) → Future< PaginatedCoins> -
inherited
-
getCommitteeInfo(
[String? epoch]) → Future< CommitteeInfo> -
inherited
-
getCurrentEpoch(
) → Future -
inherited
-
getDynamicFieldObject(
String parentObjectId, String nameType, String nameValue) → Future< SuiObjectResponse> -
inherited
-
getDynamicFields(
String parentId, {String? cursor, int? limit}) → Future< DynamicFieldPage> -
inherited
-
getEvents(
String txDigest) → Future< List< SuiEvent> > -
Events
inherited
-
getGasCostEstimation<
T> (T tx, [String? signerAddress]) → Future< int> -
Returns the estimated gas cost for the transaction,
throw whens fails to estimate the gas cost.
inherited
-
getGasObjectsOwnedByAddress(
String address) → Future< List< SuiObject> > -
inherited
-
getLatestCheckpointSequenceNumber(
) → Future< BigInt> -
inherited
-
getLatestSuiSystemState(
) → Future< SuiSystemStateSummary> -
inherited
-
getMoveFunctionArgTypes(
{required String packageId, required String moduleName, required String functionName}) → Future< List> -
inherited
-
getNormalizedMoveFunction(
String packageId, String moduleName, String functionName) → Future< SuiMoveNormalizedFunction> -
inherited
-
getNormalizedMoveModule(
String packageId, String moduleName) → Future< SuiMoveNormalizedModule> -
inherited
-
getNormalizedMoveModulesByPackage(
String packageId) → Future< SuiMoveNormalizedModules> -
inherited
-
getNormalizedMoveStruct(
String packageId, String moduleName, String structName) → Future< SuiMoveNormalizedStruct> -
inherited
-
getObject(
String objectId, {SuiObjectDataOptions? options}) → Future< SuiObjectResponse> -
inherited
-
getObjectBatch(
List< String> objectIds) → Future<List< SuiObjectResponse> > -
inherited
-
getObjectRef(
String objectId) → Future< SuiObjectRef?> -
inherited
-
getObjectsOwnedByObject(
String objectId) → Future< List< SuiObject> > -
inherited
-
getOwnedObjects(
String address, {SuiObjectDataOptions? options, int limit = 50, String? cursor, Map? filter}) → Future< PaginatedObjectsResponse> -
Objects
inherited
-
getOwnedObjectsShowAllOptions(
String address, {Map< String, dynamic> ? filter, int limit = 50, String? cursor}) → Future<PaginatedObjectsResponse> -
inherited
-
getProtocolConfig(
[String? version]) → Future -
inherited
-
getReferenceGasPrice(
) → Future< BigInt> -
inherited
-
getRpcApiVersion(
) → Future< RpcApiVersion> -
inherited
-
getStakes(
SuiAddress address) → Future< List< DelegatedStake> > -
inherited
-
getStakesByIds(
List< String> stakedSuiIds) → Future<List< DelegatedStake> > -
inherited
-
getTotalSupply(
String coinType) → Future< CoinSupply> -
inherited
-
getTotalTransactionBlocks(
) → Future< BigInt> -
inherited
-
getTransactionBlock(
TransactionDigest digest, {SuiTransactionBlockResponseOptions? options}) → Future< SuiExecuteTransactionResponse> -
inherited
-
getTransactionBlockBatch(
List< String> digests, [SuiTransactionBlockResponseOptions? options]) → Future<List< SuiTransactionBlockResponse> > -
inherited
-
getTransactions(
String address, {SuiTransactionBlockResponseOptions? options, TransactionDigest? filterFromCursor, TransactionDigest? filterToCursor, int? limit, bool descendingOrder = true}) → Future< (List< SuiTransactionBlockResponse> , String?, String?)> -
Query Transactions
inherited
-
getValidatorsApy(
) → Future< ValidatorsApy> -
inherited
-
multiGetObjects(
List< String> objectIds, {SuiObjectDataOptions? options}) → Future<List< SuiObjectResponse> > -
inherited
-
multiGetTransactionBlocks(
List< String> digests, {SuiTransactionBlockResponseOptions? options}) → Future<List< SuiTransactionBlockResponse> > -
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
pay(
PayTransaction transaction, {SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForLocalExecution}) → Future< SuiExecuteTransactionResponse> -
inherited
-
payAllSui(
PayAllSuiTransaction transaction, {SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForLocalExecution}) → Future< SuiExecuteTransactionResponse> -
inherited
-
paySui(
PaySuiTransaction transaction, {SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForLocalExecution}) → Future< SuiExecuteTransactionResponse> -
inherited
-
publish(
PublishTransaction transaction, {SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForLocalExecution}) → Future< SuiExecuteTransactionResponse> -
inherited
-
queryEvents(
Map query, {String? cursor, int? limit, bool descendingOrder = false}) → Future< Paged< List< >SuiEvent> > -
inherited
-
queryEventsByFilter(
EventFilter filter, {String? cursor, int? limit, bool descendingOrder = false}) → Future< Paged< List< >SuiEvent> > -
inherited
-
queryTransactionBlocks(
Map filter, {SuiTransactionBlockResponseOptions? options, int? limit, String? cursor, bool descendingOrder = true}) → Future< PaginatedTransactionResponse> -
inherited
-
queryTransactionEvents(
TransactionDigest digest, {String? cursor, int limit = 1, bool descendingOrder = true}) → Future< Paged< List< >SuiEvent> > -
inherited
-
resolveNameServiceAddress(
String name) → Future< String?> -
inherited
-
resolveNameServiceNames(
String address, {String? cursor, int? limit}) → Future< Paged< List< ?>String> > -
inherited
-
setSigner(
SuiAccount signer) → void -
override
-
signAndExecuteSignableTransaction(
{required SignableTransaction transaction, SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForLocalExecution}) → Future< SuiExecuteTransactionResponse> -
inherited
-
signAndExecuteTransaction(
{required Uint8List transaction, SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForLocalExecution}) → Future< SuiExecuteTransactionResponse> -
Sign a transaction and submit to the Fullnode for execution. Only exists on Fullnode
inherited
-
signAndExecuteTransactionBlock(
SuiAccount signer, Transaction transaction, {BuildOptions? options, SuiTransactionBlockResponseOptions? responseOptions, ExecuteTransaction requestType = ExecuteTransaction.WaitForEffectsCert}) → Future< SuiExecuteTransactionResponse> -
Builds, signs (with
signer) and executestransaction, returning the full transaction-block response. PassresponseOptionsto control which effects/changes are returned. -
signData(
Uint8List data) → SignaturePubkeyPair -
override
-
splitCoin(
SplitCoinTransaction transaction, {SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForLocalExecution}) → Future< SuiExecuteTransactionResponse> -
inherited
-
splitCoinEqual(
SplitCoinEqualTransaction transaction, {SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForLocalExecution}) → Future< SuiExecuteTransactionResponse> -
inherited
-
toString(
) → SuiAddress -
A string representation of this object.
inherited
-
transferObject(
TransferObjectTransaction transaction, {SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForLocalExecution}) → Future< SuiExecuteTransactionResponse> -
inherited
-
transferSui(
TransferSuiTransaction transaction, {SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForLocalExecution}) → Future< SuiExecuteTransactionResponse> -
inherited
-
tryGetPastObject(
String id, int version, {SuiObjectDataOptions? options}) → Future< ObjectRead> -
inherited
-
waitForTransaction(
TransactionDigest digest, {SuiTransactionBlockResponseOptions? options, int timeout = 60 * 1000, int pollInterval = 2 * 1000}) → Future< SuiExecuteTransactionResponse> -
inherited
-
withdrawStake(
WithdrawStakeTransaction transaction, {SuiTransactionBlockResponseOptions? options, ExecuteTransaction requestType = ExecuteTransaction.WaitForLocalExecution}) → Future< SuiExecuteTransactionResponse> -
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited