SorobanServer class

This class helps you to connect to a local or remote soroban rpc server and send requests to the server. It parses the results and provides corresponding response objects.

Constructors

SorobanServer(String _serverUrl)
Constructor. Provide the url of the soroban rpc server to initialize this class.

Properties

enableLogging bool
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
httpOverrides bool
Dio HTTP Overrides enable overrides to handle badCertificateCallback. available only for the non-Web platform.
no getter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

getAccount(String accountId) Future<Account?>
Fetches a minimal set of current info about a Stellar account. Needed to get the current sequence number for the account, so you can build a successful transaction. Returns null if account was not found for the given accountId.
getContractData(String contractId, XdrSCVal key, XdrContractDataDurability durability) Future<LedgerEntry?>
Reads the current value of contract data ledger entries directly. Requires the contractId of the contract containing the data to load, the key of the contract data to load, The durability keyspace that this ledger key belongs to, which is either XdrContractDataDurability.TEMPORARY or XdrContractDataDurability.PERSISTENT
getEvents(GetEventsRequest request) Future<GetEventsResponse>
Clients can request a filtered list of events emitted by a given ledger range. Soroban-RPC will support querying within a maximum 24 hours of recent ledgers. Note, this could be used by the client to only prompt a refresh when there is a new ledger with relevant events. It should also be used by backend Dapp components to "ingest" events into their own database for querying and serving. If making multiple requests, clients should deduplicate any events received, based on the event's unique id field. This prevents double-processing in the case of duplicate events being received. By default soroban-rpc retains the most recent 24 hours of events. See: https://developers.stellar.org/network/soroban-rpc/api-reference/methods/getEvents
getFeeStats() Future<GetFeeStatsResponse>
Statistics for charged inclusion fees. The inclusion fee statistics are calculated from the inclusion fees that were paid for the transactions to be included onto the ledger. For Soroban transactions and Stellar transactions, they each have their own inclusion fees and own surge pricing. Inclusion fees are used to prevent spam and prioritize transactions during network traffic surge.
getHealth() Future<GetHealthResponse>
General node health check request. See: https://developers.stellar.org/network/soroban-rpc/api-reference/methods/getHealth
getLatestLedger() Future<GetLatestLedgerResponse>
For finding out the current latest known ledger. See: https://developers.stellar.org/network/soroban-rpc/api-reference/methods/getLatestLedger
getLedgerEntries(List<String> base64EncodedKeys) Future<GetLedgerEntriesResponse>
For reading the current value of ledger entries directly. Allows you to directly inspect the current state of a contract, a contract’s code, or any other ledger entry. This is a backup way to access your contract data which may not be available via events or simulateTransaction. To fetch contract wasm byte-code, use the ContractCode ledger entry key. See: https://developers.stellar.org/network/soroban-rpc/api-reference/methods/getLedgerEntries
getNetwork() Future<GetNetworkResponse>
General info about the currently configured network. See: https://developers.stellar.org/network/soroban-rpc/api-reference/methods/getNetwork
getTransaction(String transactionHash) Future<GetTransactionResponse>
Clients will poll this to tell when the transaction has been completed. See: https://developers.stellar.org/network/soroban-rpc/api-reference/methods/getTransaction
getTransactions(GetTransactionsRequest request) Future<GetTransactionsResponse>
The getTransactions method return a detailed list of transactions starting from the user specified starting point that you can paginate as long as the pages fall within the history retention of their corresponding RPC provider. See: https://developers.stellar.org/docs/data/rpc/api-reference/methods/getTransactions
getVersionInfo() Future<GetVersionInfoResponse>
Version information about the RPC and Captive core. RPC manages its own, pared-down version of Stellar Core optimized for its own subset of needs. See: https://developers.stellar.org/docs/data/rpc/api-reference/methods/getVersionInfo
loadContractCodeForContractId(String contractId) Future<XdrContractCodeEntry?>
Loads the contract code entry (including source code - wasm bytes) for a given contract id.
loadContractCodeForWasmId(String wasmId) Future<XdrContractCodeEntry?>
Loads the contract source code (including source code - wasm bytes) for a given wasm id.
loadContractInfoForContractId(String contractId) Future<SorobanContractInfo?>
Loads contract source byte code for the given contractId and extracts the information (Environment Meta, Contract Spec, Contract Meta). Returns SorobanContractInfo or null if the contract was not found. Throws SorobanContractParserFailed if parsing of the byte code failed.
loadContractInfoForWasmId(String wasmId) Future<SorobanContractInfo?>
Loads contract source byte code for the given wasmId and extracts the information (Environment Meta, Contract Spec, Contract Meta). Returns SorobanContractInfo null if the contract was not found. Throws SorobanContractParserFailed if parsing of the byte code failed.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
sendTransaction(Transaction transaction) Future<SendTransactionResponse>
Submit a real transaction to the stellar network. This is the only way to make changes “on-chain”. Unlike Horizon, this does not wait for transaction completion. It simply validates and enqueues the transaction. Clients should call getTransactionStatus to learn about transaction success/failure. This supports all transactions, not only smart contract-related transactions. See: https://developers.stellar.org/network/soroban-rpc/api-reference/methods/sendTransaction
simulateTransaction(SimulateTransactionRequest request) Future<SimulateTransactionResponse>
Submit a trial contract invocation to get back return values, expected ledger footprint, and expected costs. See: https://developers.stellar.org/network/soroban-rpc/api-reference/methods/simulateTransaction
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited