Class: Provider
@fuel-ts/account.Provider
A provider for connecting to a node
Properties
cache
• Optional
cache: ResourceCache
Defined in
packages/account/src/providers/provider.ts:386
operations
• operations: SdkOperations
Defined in
packages/account/src/providers/provider.ts:385
options
• options: ProviderOptions
Defined in
packages/account/src/providers/provider.ts:399
url
• url: string
GraphQL endpoint of the Fuel node
Defined in
packages/account/src/providers/provider.ts:435
Methods
connect
▸ connect(url
, options?
): Promise
<void
>
Updates the URL for the provider and fetches the consensus parameters for the new URL, if needed.
Parameters
Name | Type | Description |
---|---|---|
url | string | The URL to connect to. |
options? | ProviderOptions | Additional options for the provider. |
Returns
Promise
<void
>
Defined in
packages/account/src/providers/provider.ts:525
dryRun
▸ dryRun(transactionRequestLike
, sendTransactionParams?
): Promise
<CallResult
>
Executes a transaction without actually submitting it to the chain.
If the transaction is missing any dependencies, the transaction will be mutated and those dependencies will be added.
Parameters
Name | Type | Description |
---|---|---|
transactionRequestLike | TransactionRequestLike | The transaction request object. |
sendTransactionParams | ProviderCallParams | The provider call parameters (optional). |
Returns
Promise
<CallResult
>
A promise that resolves to the call result object.
Defined in
packages/account/src/providers/provider.ts:784
dryRunMultipleTransactions
▸ dryRunMultipleTransactions(transactionRequests
, sendTransactionParams?
): Promise
<CallResult
[]>
Dry runs multiple transactions.
Parameters
Name | Type | Description |
---|---|---|
transactionRequests | TransactionRequest [] | Array of transaction request objects. |
sendTransactionParams | ProviderCallParams | The provider call parameters (optional). |
Returns
Promise
<CallResult
[]>
A promise that resolves to an array of results for each transaction call.
Defined in
packages/account/src/providers/provider.ts:1006
estimateGasPrice
▸ estimateGasPrice(blockHorizon
): Promise
<BN
>
Returns the estimate gas price for the given block horizon.
Parameters
Name | Type | Description |
---|---|---|
blockHorizon | number | The block horizon to estimate gas price for. |
Returns
Promise
<BN
>
A promise that resolves to the estimated gas price.
Defined in
packages/account/src/providers/provider.ts:1719
estimateMultipleTxDependencies
▸ estimateMultipleTxDependencies(transactionRequests
): Promise
<EstimateTxDependenciesReturns
[]>
Dry runs multiple transactions and checks for missing dependencies in batches.
Transactions are dry run in batches. After each dry run, transactions requiring further modifications are identified. The method iteratively updates these transactions and performs subsequent dry runs until all dependencies for each transaction are satisfied.
Parameters
Name | Type | Description |
---|---|---|
transactionRequests | TransactionRequest [] | Array of transaction request objects. |
Returns
Promise
<EstimateTxDependenciesReturns
[]>
A promise that resolves to an array of results for each transaction.
Defined in
packages/account/src/providers/provider.ts:925
estimatePredicates
▸ estimatePredicates<T
>(transactionRequest
): Promise
<T
>
Verifies whether enough gas is available to complete transaction.
Type parameters
Name | Type | Description |
---|---|---|
T | extends TransactionRequest | The type of the transaction request object. |
Parameters
Name | Type | Description |
---|---|---|
transactionRequest | T | The transaction request object. |
Returns
Promise
<T
>
A promise that resolves to the estimated transaction request object.
Defined in
packages/account/src/providers/provider.ts:811
estimateTxDependencies
▸ estimateTxDependencies(transactionRequest
): Promise
<EstimateTxDependenciesReturns
>
Will dryRun a transaction and check for missing dependencies.
If there are missing variable outputs, addVariableOutputs
is called on the transaction.
Parameters
Name | Type | Description |
---|---|---|
transactionRequest | TransactionRequest | The transaction request object. |
Returns
Promise
<EstimateTxDependenciesReturns
>
A promise that resolves to the estimate transaction dependencies.
Defined in
packages/account/src/providers/provider.ts:855
estimateTxGasAndFee
▸ estimateTxGasAndFee(params
): Promise
<{ gasLimit
: BN
; gasPrice
: BN
; maxFee
: BN
; maxGas
: BN
; minFee
: BN
; minGas
: BN
}>
Estimates the transaction gas and fee based on the provided transaction request.
Parameters
Name | Type |
---|---|
params | Object |
params.gasPrice? | BN |
params.transactionRequest | TransactionRequest |
Returns
Promise
<{ gasLimit
: BN
; gasPrice
: BN
; maxFee
: BN
; maxGas
: BN
; minFee
: BN
; minGas
: BN
}>
An object containing the estimated minimum gas, minimum fee, maximum gas, and maximum fee.
Defined in
packages/account/src/providers/provider.ts:1032
fetchChain
▸ fetchChain(): Promise
<ChainInfo
>
Returns the chain information for the current provider network.
Returns
Promise
<ChainInfo
>
a promise that resolves to the chain information.
Defined in
packages/account/src/providers/provider.ts:659
fetchChainAndNodeInfo
▸ fetchChainAndNodeInfo(): Promise
<{ chain
: ChainInfo
; nodeInfo
: NodeInfo
}>
Return the chain and node information.
Returns
Promise
<{ chain
: ChainInfo
; nodeInfo
: NodeInfo
}>
A promise that resolves to the Chain and NodeInfo.
Defined in
packages/account/src/providers/provider.ts:537
fetchNode
▸ fetchNode(): Promise
<NodeInfo
>
Returns the node information for the current provider network.
Returns
Promise
<NodeInfo
>
a promise that resolves to the node information.
Defined in
packages/account/src/providers/provider.ts:638
getBalance
▸ getBalance(owner
, assetId
): Promise
<BN
>
Returns the balance for the given owner for the given asset ID.
Parameters
Name | Type | Description |
---|---|---|
owner | string | AbstractAddress | The address to get coins for. |
assetId | BytesLike | The asset ID of coins to get. |
Returns
Promise
<BN
>
A promise that resolves to the balance.
Defined in
packages/account/src/providers/provider.ts:1506
getBalances
▸ getBalances(owner
): Promise
<GetBalancesResponse
>
Returns balances for the given owner.
Parameters
Name | Type | Description |
---|---|---|
owner | string | AbstractAddress | The address to get coins for. |
Returns
Promise
<GetBalancesResponse
>
A promise that resolves to the balances.
Defined in
packages/account/src/providers/provider.ts:1526
getBaseAssetId
▸ getBaseAssetId(): string
Returns the base asset ID for the current provider network.
Returns
string
the base asset ID.
Defined in
packages/account/src/providers/provider.ts:686
getBlock
▸ getBlock(idOrHeight
): Promise
<null
| Block
>
Returns block matching the given ID or height.
Parameters
Name | Type | Description |
---|---|---|
idOrHeight | string | number | ID or height of the block. |
Returns
Promise
<null
| Block
>
A promise that resolves to the block or null.
Defined in
packages/account/src/providers/provider.ts:1340
getBlockNumber
▸ getBlockNumber(): Promise
<BN
>
Returns the latest block number.
Returns
Promise
<BN
>
A promise that resolves to the latest block number.
Defined in
packages/account/src/providers/provider.ts:628
getBlockWithTransactions
▸ getBlockWithTransactions(idOrHeight
): Promise
<null
| Block
& { transactions
: Partial
<Omit
<TransactionScript
, "type"
>> & Partial
<Omit
<TransactionCreate
, "type"
>> & Partial
<Omit
<TransactionMint
, "type"
>> & Partial
<Omit
<TransactionUpgrade
, "type"
>> & Partial
<Omit
<TransactionUpload
, "type"
>> & Partial
<Omit
<TransactionBlob
, "type"
>> & { type
: TransactionType
}[] }>
Returns block matching the given ID or type, including transaction data.
Parameters
Name | Type | Description |
---|---|---|
idOrHeight | string | number | ID or height of the block. |
Returns
Promise
<null
| Block
& { transactions
: Partial
<Omit
<TransactionScript
, "type"
>> & Partial
<Omit
<TransactionCreate
, "type"
>> & Partial
<Omit
<TransactionMint
, "type"
>> & Partial
<Omit
<TransactionUpgrade
, "type"
>> & Partial
<Omit
<TransactionUpload
, "type"
>> & Partial
<Omit
<TransactionBlob
, "type"
>> & { type
: TransactionType
}[] }>
A promise that resolves to the block.
Defined in
packages/account/src/providers/provider.ts:1398
getBlocks
▸ getBlocks(params?
): Promise
<GetBlocksResponse
>
Returns all the blocks matching the given parameters.
Parameters
Name | Type | Description |
---|---|---|
params? | CursorPaginationArgs | The parameters to query blocks. |
Returns
Promise
<GetBlocksResponse
>
A promise that resolves to the blocks.
Defined in
packages/account/src/providers/provider.ts:1372
getChain
▸ getChain(): ChainInfo
Returns the cached chainInfo for the current URL.
Returns
the chain information configuration.
Defined in
packages/account/src/providers/provider.ts:473
getChainId
▸ getChainId(): number
Returns the chain ID for the current provider network.
Returns
number
A promise that resolves to the chain ID number.
Defined in
packages/account/src/providers/provider.ts:674
getCoins
▸ getCoins(owner
, assetId?
, paginationArgs?
): Promise
<GetCoinsResponse
>
Returns coins for the given owner.
Parameters
Name | Type | Description |
---|---|---|
owner | string | AbstractAddress | The address to get coins for. |
assetId? | BytesLike | The asset ID of coins to get (optional). |
paginationArgs? | CursorPaginationArgs | Pagination arguments (optional). |
Returns
Promise
<GetCoinsResponse
>
A promise that resolves to the coins.
Defined in
packages/account/src/providers/provider.ts:1233
getContract
▸ getContract(contractId
): Promise
<null
| ContractResult
>
Get deployed contract with the given ID.
Parameters
Name | Type | Description |
---|---|---|
contractId | string | ID of the contract. |
Returns
Promise
<null
| ContractResult
>
A promise that resolves to the contract.
Defined in
packages/account/src/providers/provider.ts:1471
getContractBalance
▸ getContractBalance(contractId
, assetId
): Promise
<BN
>
Returns the balance for the given contract for the given asset ID.
Parameters
Name | Type | Description |
---|---|---|
contractId | string | AbstractAddress | The contract ID to get the balance for. |
assetId | BytesLike | The asset ID of coins to get. |
Returns
Promise
<BN
>
A promise that resolves to the balance.
Defined in
packages/account/src/providers/provider.ts:1486
getGasConfig
▸ getGasConfig(): Object
Returns some helpful parameters related to gas fees.
Returns
Object
Name | Type |
---|---|
gasCosts | GasCosts |
gasPerByte | BN |
gasPriceFactor | BN |
maxGasPerPredicate | BN |
maxGasPerTx | BN |
Defined in
packages/account/src/providers/provider.ts:503
getLatestGasPrice
▸ getLatestGasPrice(): Promise
<BN
>
Get the latest gas price from the node.
Returns
Promise
<BN
>
A promise that resolves to the latest gas price.
Defined in
packages/account/src/providers/provider.ts:1708
getMessageByNonce
▸ getMessageByNonce(nonce
): Promise
<null
| GqlMessage
>
Returns Message for given nonce.
Parameters
Name | Type | Description |
---|---|---|
nonce | string | The nonce of the message to retrieve. |
Returns
Promise
<null
| GqlMessage
>
A promise that resolves to the Message object or null.
Defined in
packages/account/src/providers/provider.ts:1772
getMessageProof
▸ getMessageProof(transactionId
, nonce
, commitBlockId?
, commitBlockHeight?
): Promise
<null
| MessageProof
>
Returns Message Proof for given transaction id and the message id from MessageOut receipt.
Parameters
Name | Type | Description |
---|---|---|
transactionId | string | The transaction to get message from. |
nonce | string | - |
commitBlockId? | string | The commit block id (optional). |
commitBlockHeight? | BN | The commit block height (optional). |
Returns
Promise
<null
| MessageProof
>
A promise that resolves to the message proof.
Defined in
packages/account/src/providers/provider.ts:1598
getMessageStatus
▸ getMessageStatus(nonce
): Promise
<MessageStatus
>
Returns Message Proof for given transaction id and the message id from MessageOut receipt.
Parameters
Name | Type | Description |
---|---|---|
nonce | string | The nonce of the message to get status from. |
Returns
Promise
<MessageStatus
>
A promise that resolves to the message status
Defined in
packages/account/src/providers/provider.ts:1732
getMessages
▸ getMessages(address
, paginationArgs?
): Promise
<GetMessagesResponse
>
Returns message for the given address.
Parameters
Name | Type | Description |
---|---|---|
address | string | AbstractAddress | The address to get message from. |
paginationArgs? | CursorPaginationArgs | Pagination arguments (optional). |
Returns
Promise
<GetMessagesResponse
>
A promise that resolves to the messages.
Defined in
packages/account/src/providers/provider.ts:1553
getNode
▸ getNode(): NodeInfo
Returns the cached nodeInfo for the current URL.
Returns
the node information configuration.
Defined in
packages/account/src/providers/provider.ts:489
getRelayedTransactionStatus
▸ getRelayedTransactionStatus(relayedTransactionId
): Promise
<null
| GqlRelayedTransactionFailed
>
Get the relayed transaction for the given transaction ID.
Parameters
Name | Type | Description |
---|---|---|
relayedTransactionId | string | The relayed transaction ID to get the response for. |
Returns
Promise
<null
| GqlRelayedTransactionFailed
>
A promise that resolves to the relayed transaction.
Defined in
packages/account/src/providers/provider.ts:1788
getResourcesToSpend
▸ getResourcesToSpend(owner
, quantities
, excludedIds?
): Promise
<Resource
[]>
Returns resources for the given owner satisfying the spend query.
Parameters
Name | Type | Description |
---|---|---|
owner | string | AbstractAddress | The address to get resources for. |
quantities | CoinQuantityLike [] | The coin quantities to get. |
excludedIds? | ExcludeResourcesOption | IDs of excluded resources from the selection (optional). |
Returns
Promise
<Resource
[]>
A promise that resolves to the resources.
Defined in
packages/account/src/providers/provider.ts:1272
getTransaction
▸ getTransaction<TTransactionType
>(transactionId
): Promise
<null
| Transaction
<TTransactionType
>>
Get transaction with the given ID.
Type parameters
Name | Type |
---|---|
TTransactionType | void |
Parameters
Name | Type | Description |
---|---|---|
transactionId | string | ID of the transaction. |
Returns
Promise
<null
| Transaction
<TTransactionType
>>
A promise that resolves to the transaction.
Defined in
packages/account/src/providers/provider.ts:1434
getTransactionResponse
▸ getTransactionResponse(transactionId
): Promise
<TransactionResponse
>
Get the transaction response for the given transaction ID.
Parameters
Name | Type | Description |
---|---|---|
transactionId | string | The transaction ID to get the response for. |
Returns
Promise
<TransactionResponse
>
A promise that resolves to the transaction response.
Defined in
packages/account/src/providers/provider.ts:1762
getTransactions
▸ getTransactions(paginationArgs?
): Promise
<GetTransactionsResponse
>
Retrieves transactions based on the provided pagination arguments.
Parameters
Name | Type | Description |
---|---|---|
paginationArgs? | CursorPaginationArgs | The pagination arguments for retrieving transactions. |
Returns
Promise
<GetTransactionsResponse
>
A promise that resolves to an object containing the retrieved transactions and pagination information.
Defined in
packages/account/src/providers/provider.ts:1452
getVersion
▸ getVersion(): Promise
<string
>
Returns the version of the connected node.
Returns
Promise
<string
>
A promise that resolves to the version string.
Defined in
packages/account/src/providers/provider.ts:616
produceBlocks
▸ produceBlocks(amount
, startTime?
): Promise
<BN
>
Lets you produce blocks with custom timestamps and the block number of the last block produced.
Parameters
Name | Type | Description |
---|---|---|
amount | number | The amount of blocks to produce. |
startTime? | number | The UNIX timestamp (milliseconds) to set for the first produced block (optional). |
Returns
Promise
<BN
>
A promise that resolves to the block number of the last produced block.
Defined in
packages/account/src/providers/provider.ts:1747
sendTransaction
▸ sendTransaction(transactionRequestLike
, sendTransactionParams?
): Promise
<TransactionResponse
>
Submits a transaction to the chain to be executed.
If the transaction is missing any dependencies, the transaction will be mutated and those dependencies will be added.
Parameters
Name | Type | Description |
---|---|---|
transactionRequestLike | TransactionRequestLike | The transaction request object. |
sendTransactionParams | EstimateTransactionParams | The provider send transaction parameters (optional). |
Returns
Promise
<TransactionResponse
>
A promise that resolves to the transaction response object.
Defined in
packages/account/src/providers/provider.ts:744
simulate
▸ simulate(transactionRequestLike
, estimateTxParams?
): Promise
<CallResult
>
Executes a signed transaction without applying the states changes on the chain.
If the transaction is missing any dependencies, the transaction will be mutated and those dependencies will be added
Parameters
Name | Type | Description |
---|---|---|
transactionRequestLike | TransactionRequestLike | The transaction request object. |
estimateTxParams | EstimateTransactionParams | The estimate transaction params (optional). |
Returns
Promise
<CallResult
>
A promise that resolves to the call result object.
Defined in
packages/account/src/providers/provider.ts:1108
validateTransaction
▸ validateTransaction(tx
, consensusParameters
): void
Parameters
Name | Type |
---|---|
tx | TransactionRequest |
consensusParameters | ConsensusParameters |
Returns
void
Defined in
packages/account/src/providers/provider.ts:716
create
▸ create(url
, options?
): Promise
<Provider
>
Creates a new instance of the Provider class. This is the recommended way to initialize a Provider.
Parameters
Name | Type | Description |
---|---|---|
url | string | GraphQL endpoint of the Fuel node |
options | ProviderOptions | Additional options for the provider |
Returns
Promise
<Provider
>
A promise that resolves to a Provider instance.
Defined in
packages/account/src/providers/provider.ts:462