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:376
operations
• operations: Object
Type declaration
Name | Type |
---|---|
dryRun | (variables : Exact <{ encodedTransactions : string | string [] ; gasPrice? : InputMaybe <string > ; utxoValidation? : InputMaybe <boolean > }>, options? : unknown ) => Promise <GqlDryRunMutation > |
estimateGasPrice | (variables : Exact <{ blockHorizon : string }>, options? : unknown ) => Promise <GqlEstimateGasPriceQuery > |
estimatePredicates | (variables : Exact <{ encodedTransaction : string }>, options? : unknown ) => Promise <GqlEstimatePredicatesQuery > |
getBalance | (variables : Exact <{ assetId : string ; owner : string }>, options? : unknown ) => Promise <GqlGetBalanceQuery > |
getBalances | (variables : Exact <{ after? : InputMaybe <string > ; before? : InputMaybe <string > ; filter : GqlBalanceFilterInput ; first? : InputMaybe <number > ; last? : InputMaybe <number > }>, options? : unknown ) => Promise <GqlGetBalancesQuery > |
getBlock | (variables? : Exact <{ blockId? : InputMaybe <string > ; height? : InputMaybe <string > }>, options? : unknown ) => Promise <GqlGetBlockQuery > |
getBlockWithTransactions | (variables? : Exact <{ blockHeight? : InputMaybe <string > ; blockId? : InputMaybe <string > }>, options? : unknown ) => Promise <GqlGetBlockWithTransactionsQuery > |
getBlocks | (variables? : Exact <{ after? : InputMaybe <string > ; before? : InputMaybe <string > ; first? : InputMaybe <number > ; last? : InputMaybe <number > }>, options? : unknown ) => Promise <GqlGetBlocksQuery > |
getChain | (variables? : Exact <{ [key: string] : never ; }>, options? : unknown ) => Promise <GqlGetChainQuery > |
getCoin | (variables : Exact <{ coinId : string }>, options? : unknown ) => Promise <GqlGetCoinQuery > |
getCoins | (variables : Exact <{ after? : InputMaybe <string > ; before? : InputMaybe <string > ; filter : GqlCoinFilterInput ; first? : InputMaybe <number > ; last? : InputMaybe <number > }>, options? : unknown ) => Promise <GqlGetCoinsQuery > |
getCoinsToSpend | (variables : Exact <{ excludedIds? : InputMaybe <GqlExcludeInput > ; owner : string ; queryPerAsset : GqlSpendQueryElementInput | GqlSpendQueryElementInput [] }>, options? : unknown ) => Promise <GqlGetCoinsToSpendQuery > |
getContract | (variables : Exact <{ contractId : string }>, options? : unknown ) => Promise <GqlGetContractQuery > |
getContractBalance | (variables : Exact <{ asset : string ; contract : string }>, options? : unknown ) => Promise <GqlGetContractBalanceQuery > |
getLatestGasPrice | (variables? : Exact <{ [key: string] : never ; }>, options? : unknown ) => Promise <GqlGetLatestGasPriceQuery > |
getMessageByNonce | (variables : Exact <{ nonce : string }>, options? : unknown ) => Promise <GqlGetMessageByNonceQuery > |
getMessageProof | (variables : Exact <{ commitBlockHeight? : InputMaybe <string > ; commitBlockId? : InputMaybe <string > ; nonce : string ; transactionId : string }>, options? : unknown ) => Promise <GqlGetMessageProofQuery > |
getMessageStatus | (variables : Exact <{ nonce : string }>, options? : unknown ) => Promise <GqlGetMessageStatusQuery > |
getMessages | (variables : Exact <{ after? : InputMaybe <string > ; before? : InputMaybe <string > ; first? : InputMaybe <number > ; last? : InputMaybe <number > ; owner : string }>, options? : unknown ) => Promise <GqlGetMessagesQuery > |
getNodeInfo | (variables? : Exact <{ [key: string] : never ; }>, options? : unknown ) => Promise <GqlGetNodeInfoQuery > |
getRelayedTransactionStatus | (variables : Exact <{ relayedTransactionId : string }>, options? : unknown ) => Promise <GqlGetRelayedTransactionStatusQuery > |
getTransaction | (variables : Exact <{ transactionId : string }>, options? : unknown ) => Promise <GqlGetTransactionQuery > |
getTransactionWithReceipts | (variables : Exact <{ transactionId : string }>, options? : unknown ) => Promise <GqlGetTransactionWithReceiptsQuery > |
getTransactions | (variables? : Exact <{ after? : InputMaybe <string > ; before? : InputMaybe <string > ; first? : InputMaybe <number > ; last? : InputMaybe <number > }>, options? : unknown ) => Promise <GqlGetTransactionsQuery > |
getTransactionsByOwner | (variables : Exact <{ after? : InputMaybe <string > ; before? : InputMaybe <string > ; first? : InputMaybe <number > ; last? : InputMaybe <number > ; owner : string }>, options? : unknown ) => Promise <GqlGetTransactionsByOwnerQuery > |
getVersion | (variables? : Exact <{ [key: string] : never ; }>, options? : unknown ) => Promise <GqlGetVersionQuery > |
produceBlocks | (variables : Exact <{ blocksToProduce : string ; startTimestamp? : InputMaybe <string > }>, options? : unknown ) => Promise <GqlProduceBlocksMutation > |
statusChange | (variables : Exact <{ transactionId : string }>, options? : unknown ) => AsyncIterable <GqlStatusChangeSubscription > |
submit | (variables : Exact <{ encodedTransaction : string }>, options? : unknown ) => Promise <GqlSubmitMutation > |
submitAndAwait | (variables : Exact <{ encodedTransaction : string }>, options? : unknown ) => AsyncIterable <GqlSubmitAndAwaitSubscription > |
Defined in
packages/account/src/providers/provider.ts:375
options
• options: ProviderOptions
Defined in
packages/account/src/providers/provider.ts:389
url
• url: string
GraphQL endpoint of the Fuel node
Defined in
packages/account/src/providers/provider.ts:425
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:515
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:753
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:975
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:1688
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:894
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:780
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:824
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:1001
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:649
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:527
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:628
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:1475
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:1495
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:676
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:1309
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:618
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"
>> & { 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"
>> & { type
: TransactionType
}[] }>
A promise that resolves to the block.
Defined in
packages/account/src/providers/provider.ts:1367
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:1341
getChain
▸ getChain(): ChainInfo
Returns the cached chainInfo for the current URL.
Returns
the chain information configuration.
Defined in
packages/account/src/providers/provider.ts:463
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:664
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:1202
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:1440
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:1455
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:493
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:1677
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:1741
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:1567
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:1701
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:1522
getNode
▸ getNode(): NodeInfo
Returns the cached nodeInfo for the current URL.
Returns
the node information configuration.
Defined in
packages/account/src/providers/provider.ts:479
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:1757
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:1241
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:1403
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:1731
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:1421
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:606
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:1716
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:717
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:1077
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:452