Class: Provider
@fuel-ts/account.Provider
A provider for connecting to a node
Properties
cache
• Optional
cache: MemoryCache
Defined in
packages/account/src/providers/provider.ts:383
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:382
options
• options: ProviderOptions
Defined in
packages/account/src/providers/provider.ts:396
url
• url: string
GraphQL endpoint of the Fuel node
Defined in
packages/account/src/providers/provider.ts:432
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:513
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:764
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:986
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:1699
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:905
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:791
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:835
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:1012
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:647
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:525
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:626
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:1486
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:1506
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:674
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:1320
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:616
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:1378
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:1352
getChain
▸ getChain(): ChainInfo
Returns the cached chainInfo for the current URL.
Returns
the chain information configuration.
Defined in
packages/account/src/providers/provider.ts:461
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:662
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:1213
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:1451
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:1466
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:491
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:1688
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:1752
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:1578
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:1712
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:1533
getNode
▸ getNode(): NodeInfo
Returns the cached nodeInfo for the current URL.
Returns
the node information configuration.
Defined in
packages/account/src/providers/provider.ts:477
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:1768
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:1252
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:1414
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:1742
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:1432
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:604
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:1727
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 | ProviderSendTxParams | 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:707
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:1088
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:450