@fuel-ts/providers .Provider
A provider for connecting to a node
• Optional
cache: MemoryCache
packages/providers/src/provider.ts:281
• operations: Object
Name | Type |
---|---|
dryRun | (variables : Exact <{ encodedTransaction : string ; utxoValidation? : InputMaybe <boolean > }>, options? : unknown ) => Promise <GqlDryRunMutation > |
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? : any }>, options? : unknown ) => Promise <GqlGetBlockQuery > |
getBlockWithTransactions | (variables? : Exact <{ blockHeight? : any ; 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 > |
getMessageProof | (variables : Exact <{ commitBlockHeight? : any ; 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 > |
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 : any ; startTimestamp? : any }>, 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/providers/src/provider.ts:280
• options: ProviderOptions
packages/providers/src/provider.ts:291
• url: string
GraphQL endpoint of the Fuel node
packages/providers/src/provider.ts:324
▪ Private
Static
chainInfoCache: ChainInfoCache
= {}
packages/providers/src/provider.ts:288
▪ Private
Static
nodeInfoCache: NodeInfoCache
= {}
packages/providers/src/provider.ts:289
▸ call(transactionRequestLike
, utxoValidation?
): 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. |
utxoValidation | ProviderCallParams | Additional provider call parameters. |
Promise
<CallResult
>
A promise that resolves to the call result object.
packages/providers/src/provider.ts:640
▸ connect(url
, options?
): Promise
<void
>
Updates the URL for the provider and fetches the consensus parameters for the new URL, if needed.
Name | Type |
---|---|
url | string |
options? | ProviderOptions |
Promise
<void
>
packages/providers/src/provider.ts:393
▸ createOperations(): Object
Create GraphQL client and set operations.
Object
The operation SDK object
Name | Type |
---|---|
dryRun | (variables : Exact <{ encodedTransaction : string ; utxoValidation? : InputMaybe <boolean > }>, options? : unknown ) => Promise <GqlDryRunMutation > |
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? : any }>, options? : unknown ) => Promise <GqlGetBlockQuery > |
getBlockWithTransactions | (variables? : Exact <{ blockHeight? : any ; 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 > |
getMessageProof | (variables : Exact <{ commitBlockHeight? : any ; 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 > |
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 : any ; startTimestamp? : any }>, 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/providers/src/provider.ts:434
▸ estimatePredicates(transactionRequest
): Promise
<TransactionRequest
>
Verifies whether enough gas is available to complete transaction.
Name | Type | Description |
---|---|---|
transactionRequest | TransactionRequest | The transaction request object. |
Promise
<TransactionRequest
>
A promise that resolves to the estimated transaction request object.
packages/providers/src/provider.ts:665
▸ estimateTxDependencies(transactionRequest
): Promise
<void
>
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
<void
>
A promise.
packages/providers/src/provider.ts:700
▸ fetchChain(): Promise
<ChainInfo
>
Fetches the chainInfo
for the given node URL.
Promise
<ChainInfo
>
ChainInfo object
packages/providers/src/provider.ts:529
▸ fetchChainAndNodeInfo(): Promise
<{ chain
: ChainInfo
; nodeInfo
: NodeInfo
}>
Fetches both the chain and node information, saves it to the cache, and return it.
Promise
<{ chain
: ChainInfo
; nodeInfo
: NodeInfo
}>
NodeInfo and Chain
packages/providers/src/provider.ts:405
▸ fetchNode(): Promise
<NodeInfo
>
Returns the chain information.
Promise
<NodeInfo
>
NodeInfo object
packages/providers/src/provider.ts:506
▸ 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/providers/src/provider.ts:1161
▸ 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. |
Promise
<CoinQuantity
[]>
A promise that resolves to the balances.
packages/providers/src/provider.ts:1181
▸ 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.
packages/providers/src/provider.ts:1017
▸ getBlockNumber(): Promise
<BN
>
Returns the block number.
Promise
<BN
>
A promise that resolves to the block number
packages/providers/src/provider.ts:496
▸ getBlockWithTransactions(idOrHeight
): Promise
<null
| Block
& { transactions
: Partial
<Omit
<TransactionScript
, "type"
>> & Partial
<Omit
<TransactionCreate
, "type"
>> & Partial
<Omit
<TransactionMint
, "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"
>> & { type
: TransactionType
}[] }>
A promise that resolves to the block.
packages/providers/src/provider.ts:1071
▸ 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/providers/src/provider.ts:1052
▸ getChain(): ChainInfo
Returns the cached chainInfo for the current URL.
packages/providers/src/provider.ts:348
▸ getChainId(): number
Returns the chain ID
number
A promise that resolves to the chain ID number
packages/providers/src/provider.ts:543
▸ 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 |
paginationArgs? | CursorPaginationArgs | Pagination arguments |
Promise
<Coin
[]>
packages/providers/src/provider.ts:909
▸ 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/providers/src/provider.ts:1126
▸ 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/providers/src/provider.ts:1141
▸ getGasConfig(): Object
Returns some helpful parameters related to gas fees.
Object
Name | Type |
---|---|
gasCosts | GqlGasCosts |
gasPerByte | BN |
gasPriceFactor | BN |
maxGasPerPredicate | BN |
maxGasPerTx | BN |
minGasPrice | BN |
packages/providers/src/provider.ts:376
▸ 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. |
commitBlockHeight? | BN | The commit block height. |
Promise
<null
| MessageProof
>
A promise that resolves to the message proof.
packages/providers/src/provider.ts:1248
▸ 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/providers/src/provider.ts:1354
▸ 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. |
Promise
<Message
[]>
A promise that resolves to the messages.
packages/providers/src/provider.ts:1208
▸ getNode(): NodeInfo
Returns the cached nodeInfo for the current URL.
packages/providers/src/provider.ts:362
▸ getResourcesForTransaction(owner
, transactionRequestLike
, forwardingQuantities?
): Promise
<{ gasPrice
: BN
; gasUsed
: BN
; maxFee
: BN
; maxGas
: BN
; minFee
: BN
; minGas
: BN
; minGasPrice
: BN
; receipts
: TransactionResultReceipt
[] ; requiredQuantities
: CoinQuantity
[] ; resources
: Resource
[] ; usedFee
: BN
}>
Name | Type | Default value |
---|---|---|
owner | string | AbstractAddress | undefined |
transactionRequestLike | TransactionRequestLike | undefined |
forwardingQuantities | CoinQuantity [] | [] |
Promise
<{ gasPrice
: BN
; gasUsed
: BN
; maxFee
: BN
; maxGas
: BN
; minFee
: BN
; minGas
: BN
; minGasPrice
: BN
; receipts
: TransactionResultReceipt
[] ; requiredQuantities
: CoinQuantity
[] ; resources
: Resource
[] ; usedFee
: BN
}>
packages/providers/src/provider.ts:874
▸ 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 quantities to get. |
excludedIds? | ExcludeResourcesOption | IDs of excluded resources from the selection. |
Promise
<Resource
[]>
A promise that resolves to the resources.
packages/providers/src/provider.ts:945
▸ 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/providers/src/provider.ts:1107
▸ getTransactionCost(transactionRequestLike
, forwardingQuantities?
, «destructured»?
): Promise
<TransactionCost
>
Returns a transaction cost to enable user to set gasLimit and also reserve balance amounts on the the transaction.
Name | Type | Default value | Description |
---|---|---|---|
transactionRequestLike | TransactionRequestLike | undefined | The transaction request object. |
forwardingQuantities | CoinQuantity [] | [] | - |
«destructured» | TransactionCostParams | {} | - |
Promise
<TransactionCost
>
A promise that resolves to the transaction cost object.
packages/providers/src/provider.ts:785
▸ getVersion(): Promise
<string
>
Returns the version of the connected node.
Promise
<string
>
A promise that resolves to the version string.
packages/providers/src/provider.ts:468
▸ 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 to set for the first produced block |
Promise
<BN
>
A promise that resolves to the block number of the last produced block.
packages/providers/src/provider.ts:1369
▸ sendTransaction(transactionRequestLike
, «destructured»?
): 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. |
«destructured» | ProviderSendTxParams | - |
Promise
<TransactionResponse
>
A promise that resolves to the transaction response object.
packages/providers/src/provider.ts:575
▸ simulate(transactionRequestLike
, «destructured»?
): 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. |
«destructured» | EstimateTransactionParams | - |
Promise
<CallResult
>
A promise that resolves to the call result object.
packages/providers/src/provider.ts:751
▸ clearChainAndNodeCaches(): void
void
packages/providers/src/provider.ts:283
▸ 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
>
packages/providers/src/provider.ts:339
▸ ensureClientVersionIsSupported(nodeInfo
): void
Name | Type |
---|---|
nodeInfo | NodeInfo |
void
packages/providers/src/provider.ts:417
▸ getFetchFn(options
): (url
: string
, options
: FetchRequestOptions
, providerOptions
: Omit
<ProviderOptions
, "fetch"
>) => Promise
<Response
>
Name | Type |
---|---|
options | ProviderOptions |
fn
▸ (url
, options
, providerOptions
): Promise
<Response
>
Name | Type |
---|---|
url | string |
options | FetchRequestOptions |
providerOptions | Omit <ProviderOptions , "fetch" > |
Promise
<Response
>