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: Operations
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:785
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:1007
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:1720
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:926
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:812
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:856
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:1033
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:1507
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:1527
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:1341
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:1399
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:1373
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:1234
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:1472
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:1487
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:1709
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:1773
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:1599
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:1733
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:1554
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:1789
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:1273
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:1435
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:1763
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:1453
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:1748
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:1109
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