@fuel-ts/account .Provider
A provider for connecting to a node
• Optional
cache: MemoryCache
packages/account/src/providers/provider.ts:364
• operations: Object
Name | Type |
---|---|
dryRun | (variables : Exact <{ encodedTransactions : string | 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 > |
packages/account/src/providers/provider.ts:363
• options: ProviderOptions
packages/account/src/providers/provider.ts:377
• url: string
GraphQL endpoint of the Fuel node
packages/account/src/providers/provider.ts:413
▸ call(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.
Name | Type | Description |
---|---|---|
transactionRequestLike | TransactionRequestLike | The transaction request object. |
sendTransactionParams | ProviderCallParams | The provider call parameters (optional). |
Promise
<CallResult
>
A promise that resolves to the call result object.
packages/account/src/providers/provider.ts:745
▸ connect(url
, options?
): Promise
<void
>
Updates the URL for the provider and fetches the consensus parameters for the new URL, if needed.
Name | Type | Description |
---|---|---|
url | string | The URL to connect to. |
options? | ProviderOptions | Additional options for the provider. |
Promise
<void
>
packages/account/src/providers/provider.ts:494
▸ dryRunMultipleTransactions(transactionRequests
, sendTransactionParams?
): Promise
<CallResult
[]>
Dry runs multiple transactions.
Name | Type | Description |
---|---|---|
transactionRequests | TransactionRequest [] | Array of transaction request objects. |
sendTransactionParams | ProviderCallParams | The provider call parameters (optional). |
Promise
<CallResult
[]>
A promise that resolves to an array of results for each transaction call.
packages/account/src/providers/provider.ts:967
▸ estimateGasPrice(blockHorizon
): Promise
<BN
>
Returns the estimate gas price for the given block horizon.
Name | Type | Description |
---|---|---|
blockHorizon | number | The block horizon to estimate gas price for. |
Promise
<BN
>
A promise that resolves to the estimated gas price.
packages/account/src/providers/provider.ts:1702
▸ 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.
Name | Type | Description |
---|---|---|
transactionRequests | TransactionRequest [] | Array of transaction request objects. |
Promise
<EstimateTxDependenciesReturns
[]>
A promise that resolves to an array of results for each transaction.
packages/account/src/providers/provider.ts:886
▸ estimatePredicates<T
>(transactionRequest
): Promise
<T
>
Verifies whether enough gas is available to complete transaction.
Name | Type | Description |
---|---|---|
T | extends TransactionRequest | The type of the transaction request object. |
Name | Type | Description |
---|---|---|
transactionRequest | T | The transaction request object. |
Promise
<T
>
A promise that resolves to the estimated transaction request object.
packages/account/src/providers/provider.ts:772
▸ 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.
Name | Type | Description |
---|---|---|
transactionRequest | TransactionRequest | The transaction request object. |
Promise
<EstimateTxDependenciesReturns
>
A promise that resolves to the estimate transaction dependencies.
packages/account/src/providers/provider.ts:816
▸ 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.
Name | Type |
---|---|
params | Object |
params.gasPrice? | BN |
params.transactionRequest | TransactionRequest |
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.
packages/account/src/providers/provider.ts:993
▸ fetchChain(): Promise
<ChainInfo
>
Returns the chain information for the current provider network.
Promise
<ChainInfo
>
a promise that resolves to the chain information.
packages/account/src/providers/provider.ts:628
▸ fetchChainAndNodeInfo(): Promise
<{ chain
: ChainInfo
; nodeInfo
: NodeInfo
}>
Return the chain and node information.
Promise
<{ chain
: ChainInfo
; nodeInfo
: NodeInfo
}>
A promise that resolves to the Chain and NodeInfo.
packages/account/src/providers/provider.ts:506
▸ fetchNode(): Promise
<NodeInfo
>
Returns the node information for the current provider network.
Promise
<NodeInfo
>
a promise that resolves to the node information.
packages/account/src/providers/provider.ts:607
▸ getBalance(owner
, assetId
): Promise
<BN
>
Returns the balance for the given owner for the given asset ID.
Name | Type | Description |
---|---|---|
owner | string | AbstractAddress | The address to get coins for. |
assetId | BytesLike | The asset ID of coins to get. |
Promise
<BN
>
A promise that resolves to the balance.
packages/account/src/providers/provider.ts:1498
▸ getBalances(owner
, paginationArgs?
): Promise
<CoinQuantity
[]>
Returns balances for the given owner.
Name | Type | Description |
---|---|---|
owner | string | AbstractAddress | The address to get coins for. |
paginationArgs? | CursorPaginationArgs | Pagination arguments (optional). |
Promise
<CoinQuantity
[]>
A promise that resolves to the balances.
packages/account/src/providers/provider.ts:1518
▸ getBaseAssetId(): string
Returns the base asset ID for the current provider network.
string
the base asset ID.
packages/account/src/providers/provider.ts:655
▸ getBlock(idOrHeight
): Promise
<null
| Block
>
Returns block matching the given ID or height.
Name | Type | Description |
---|---|---|
idOrHeight | string | number | ID or height of the block. |
Promise
<null
| Block
>
A promise that resolves to the block or null.
packages/account/src/providers/provider.ts:1357
▸ getBlockNumber(): Promise
<BN
>
Returns the latest block number.
Promise
<BN
>
A promise that resolves to the latest block number.
packages/account/src/providers/provider.ts:597
▸ 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.
Name | Type | Description |
---|---|---|
idOrHeight | string | number | ID or height of the block. |
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.
packages/account/src/providers/provider.ts:1408
▸ getBlocks(params
): Promise
<Block
[]>
Returns all the blocks matching the given parameters.
Name | Type | Description |
---|---|---|
params | Exact <{ after? : InputMaybe <string > ; before? : InputMaybe <string > ; first? : InputMaybe <number > ; last? : InputMaybe <number > }> | The parameters to query blocks. |
Promise
<Block
[]>
A promise that resolves to the blocks.
packages/account/src/providers/provider.ts:1389
▸ getChain(): ChainInfo
Returns the cached chainInfo for the current URL.
the chain information configuration.
packages/account/src/providers/provider.ts:442
▸ getChainId(): number
Returns the chain ID for the current provider network.
number
A promise that resolves to the chain ID number.
packages/account/src/providers/provider.ts:643
▸ getCoins(owner
, assetId?
, paginationArgs?
): Promise
<Coin
[]>
Returns coins for the given owner.
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). |
Promise
<Coin
[]>
A promise that resolves to the coins.
packages/account/src/providers/provider.ts:1257
▸ getContract(contractId
): Promise
<null
| ContractResult
>
Get deployed contract with the given ID.
Name | Type | Description |
---|---|---|
contractId | string | ID of the contract. |
Promise
<null
| ContractResult
>
A promise that resolves to the contract.
packages/account/src/providers/provider.ts:1463
▸ getContractBalance(contractId
, assetId
): Promise
<BN
>
Returns the balance for the given contract for the given asset ID.
Name | Type | Description |
---|---|---|
contractId | string | AbstractAddress | The contract ID to get the balance for. |
assetId | BytesLike | The asset ID of coins to get. |
Promise
<BN
>
A promise that resolves to the balance.
packages/account/src/providers/provider.ts:1478
▸ getGasConfig(): Object
Returns some helpful parameters related to gas fees.
Object
Name | Type |
---|---|
gasCosts | GasCosts |
gasPerByte | BN |
gasPriceFactor | BN |
maxGasPerPredicate | BN |
maxGasPerTx | BN |
packages/account/src/providers/provider.ts:472
▸ getLatestGasPrice(): Promise
<BN
>
Get the latest gas price from the node.
Promise
<BN
>
A promise that resolves to the latest gas price.
packages/account/src/providers/provider.ts:1691
▸ getMessageByNonce(nonce
): Promise
<null
| GqlMessage
>
Returns Message for given nonce.
Name | Type | Description |
---|---|---|
nonce | string | The nonce of the message to retrieve. |
Promise
<null
| GqlMessage
>
A promise that resolves to the Message object or null.
packages/account/src/providers/provider.ts:1755
▸ getMessageProof(transactionId
, nonce
, commitBlockId?
, commitBlockHeight?
): Promise
<null
| MessageProof
>
Returns Message Proof for given transaction id and the message id from MessageOut receipt.
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). |
Promise
<null
| MessageProof
>
A promise that resolves to the message proof.
packages/account/src/providers/provider.ts:1581
▸ getMessageStatus(nonce
): Promise
<MessageStatus
>
Returns Message Proof for given transaction id and the message id from MessageOut receipt.
Name | Type | Description |
---|---|---|
nonce | string | The nonce of the message to get status from. |
Promise
<MessageStatus
>
A promise that resolves to the message status
packages/account/src/providers/provider.ts:1715
▸ getMessages(address
, paginationArgs?
): Promise
<Message
[]>
Returns message for the given address.
Name | Type | Description |
---|---|---|
address | string | AbstractAddress | The address to get message from. |
paginationArgs? | CursorPaginationArgs | Pagination arguments (optional). |
Promise
<Message
[]>
A promise that resolves to the messages.
packages/account/src/providers/provider.ts:1543
▸ getNode(): NodeInfo
Returns the cached nodeInfo for the current URL.
the node information configuration.
packages/account/src/providers/provider.ts:458
▸ getRelayedTransactionStatus(relayedTransactionId
): Promise
<null
| GqlRelayedTransactionFailed
>
Get the relayed transaction for the given transaction ID.
Name | Type | Description |
---|---|---|
relayedTransactionId | string | The relayed transaction ID to get the response for. |
Promise
<null
| GqlRelayedTransactionFailed
>
A promise that resolves to the relayed transaction.
packages/account/src/providers/provider.ts:1771
▸ getResourcesForTransaction(owner
, transactionRequestLike
, quantitiesToContract?
): Promise
<{ addedSignatures
: number
; dryRunStatus?
: DryRunStatus
; estimatedPredicates
: TransactionRequestInput
[] ; gasPrice
: BN
; gasUsed
: BN
; maxFee
: BN
; maxGas
: BN
; minFee
: BN
; minGas
: BN
; missingContractIds
: string
[] ; outputVariables
: number
; receipts
: TransactionResultReceipt
[] ; requiredQuantities
: CoinQuantity
[] ; resources
: Resource
[] ; updateMaxFee?
: boolean
}>
Get the required quantities and associated resources for a transaction.
Name | Type | Default value | Description |
---|---|---|---|
owner | string | AbstractAddress | undefined | address to add resources from. |
transactionRequestLike | TransactionRequestLike | undefined | transaction request to populate resources for. |
quantitiesToContract | CoinQuantity [] | [] | quantities for the contract (optional). |
Promise
<{ addedSignatures
: number
; dryRunStatus?
: DryRunStatus
; estimatedPredicates
: TransactionRequestInput
[] ; gasPrice
: BN
; gasUsed
: BN
; maxFee
: BN
; maxGas
: BN
; minFee
: BN
; minGas
: BN
; missingContractIds
: string
[] ; outputVariables
: number
; receipts
: TransactionResultReceipt
[] ; requiredQuantities
: CoinQuantity
[] ; resources
: Resource
[] ; updateMaxFee?
: boolean
}>
a promise resolving to the required quantities for the transaction.
packages/account/src/providers/provider.ts:1215
▸ getResourcesToSpend(owner
, quantities
, excludedIds?
): Promise
<Resource
[]>
Returns resources for the given owner satisfying the spend query.
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). |
Promise
<Resource
[]>
A promise that resolves to the resources.
packages/account/src/providers/provider.ts:1289
▸ getTransaction<TTransactionType
>(transactionId
): Promise
<null
| Transaction
<TTransactionType
>>
Get transaction with the given ID.
Name | Type |
---|---|
TTransactionType | void |
Name | Type | Description |
---|---|---|
transactionId | string | ID of the transaction. |
Promise
<null
| Transaction
<TTransactionType
>>
A promise that resolves to the transaction.
packages/account/src/providers/provider.ts:1444
▸ getTransactionCost(transactionRequestLike
, transactionCostParams?
): Promise
<TransactionCost
>
Returns a transaction cost to enable user to set gasLimit and also reserve balance amounts on the the transaction.
Name | Type | Description |
---|---|---|
transactionRequestLike | TransactionRequestLike | The transaction request object. |
transactionCostParams | TransactionCostParams | The transaction cost parameters (optional). |
Promise
<TransactionCost
>
A promise that resolves to the transaction cost object.
packages/account/src/providers/provider.ts:1105
▸ getTransactionResponse(transactionId
): Promise
<TransactionResponse
>
Get the transaction response for the given transaction ID.
Name | Type | Description |
---|---|---|
transactionId | string | The transaction ID to get the response for. |
Promise
<TransactionResponse
>
A promise that resolves to the transaction response.
packages/account/src/providers/provider.ts:1745
▸ getVersion(): Promise
<string
>
Returns the version of the connected node.
Promise
<string
>
A promise that resolves to the version string.
packages/account/src/providers/provider.ts:585
▸ produceBlocks(amount
, startTime?
): Promise
<BN
>
Lets you produce blocks with custom timestamps and the block number of the last block produced.
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). |
Promise
<BN
>
A promise that resolves to the block number of the last produced block.
packages/account/src/providers/provider.ts:1730
▸ 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.
Name | Type | Description |
---|---|---|
transactionRequestLike | TransactionRequestLike | The transaction request object. |
sendTransactionParams | ProviderSendTxParams | The provider send transaction parameters (optional). |
Promise
<TransactionResponse
>
A promise that resolves to the transaction response object.
packages/account/src/providers/provider.ts:688
▸ 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
Name | Type | Description |
---|---|---|
transactionRequestLike | TransactionRequestLike | The transaction request object. |
estimateTxParams | EstimateTransactionParams | The estimate transaction params (optional). |
Promise
<CallResult
>
A promise that resolves to the call result object.
packages/account/src/providers/provider.ts:1069
▸ create(url
, options?
): Promise
<Provider
>
Creates a new instance of the Provider class. This is the recommended way to initialize a Provider.
Name | Type | Description |
---|---|---|
url | string | GraphQL endpoint of the Fuel node |
options | ProviderOptions | Additional options for the provider |
Promise
<Provider
>
A promise that resolves to a Provider instance.