@fuel-ts/providers .Provider
A provider for connecting to a node
• Private
#subscriptionClient: Client
packages/providers/src/provider.ts:230
• Optional
cache: MemoryCache
packages/providers/src/provider.ts:232
• 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 <{ blockHeight? : InputMaybe <string > ; blockId? : 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 > |
getMessageProof | (variables : Exact <{ commitBlockHeight? : any ; commitBlockId? : InputMaybe <string > ; messageId : any ; 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 : string ; 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:229
• options: ProviderOptions
<Response
>
packages/providers/src/provider.ts:233
• url: string
GraphQL endpoint of the Fuel node
packages/providers/src/provider.ts:263
▪ Static
chainInfoCache: ChainInfoCache
= {}
packages/providers/src/provider.ts:250
▪ Static
nodeInfoCache: NodeInfoCache
= {}
packages/providers/src/provider.ts:251
▸ 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:585
▸ Private
createOperations(): void
Create GraphQL client and set operations.
void
The operation SDK object
packages/providers/src/provider.ts:370
▸ 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:608
▸ 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:645
▸ fetchChain(): Promise
<ChainInfo
>
Fetches the chainInfo
for the given node URL.
Promise
<ChainInfo
>
ChainInfo object
packages/providers/src/provider.ts:501
▸ fetchChainAndNodeInfo(): Promise
<{ chain
: ChainInfo
; nodeInfo
: NodeInfo
}>
Retrieves and caches chain and node information if not already cached.
Promise
<{ chain
: ChainInfo
; nodeInfo
: NodeInfo
}>
NodeInfo and Chain
packages/providers/src/provider.ts:343
▸ fetchNode(): Promise
<NodeInfo
>
Returns the chain information.
Promise
<NodeInfo
>
NodeInfo object
packages/providers/src/provider.ts:484
▸ getBalance(owner
, assetId
): Promise
<BN
>
Returns the balance for the given owner for the given asset ID.
Name | Type | Description |
---|---|---|
owner | 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:1016
▸ getBalances(owner
, paginationArgs?
): Promise
<CoinQuantity
[]>
Returns balances for the given owner.
Name | Type | Description |
---|---|---|
owner | 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:1036
▸ 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:872
▸ getBlockNumber(): Promise
<BN
>
Returns the block number.
Promise
<BN
>
A promise that resolves to the block number
packages/providers/src/provider.ts:474
▸ 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:926
▸ 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:907
▸ getChain(): ChainInfo
Returns the cached chainInfo for the current URL.
packages/providers/src/provider.ts:285
▸ getChainId(): number
Returns the chain ID
number
A promise that resolves to the chain ID number
packages/providers/src/provider.ts:510
▸ getCoins(owner
, assetId?
, paginationArgs?
): Promise
<Coin
[]>
Returns coins for the given owner.
Name | Type | Description |
---|---|---|
owner | 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:766
▸ 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:981
▸ getContractBalance(contractId
, assetId
): Promise
<BN
>
Returns the balance for the given contract for the given asset ID.
Name | Type | Description |
---|---|---|
contractId | 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:996
▸ getGasConfig(): Object
Returns some helpful parameters related to gas fees.
Object
Name | Type |
---|---|
gasPerByte | BN |
gasPriceFactor | BN |
maxGasPerPredicate | BN |
maxGasPerTx | BN |
minGasPrice | BN |
packages/providers/src/provider.ts:313
▸ getMessageProof(transactionId
, messageId
, 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. |
messageId | string | The message id from MessageOut receipt. |
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:1103
▸ 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:1211
▸ getMessages(address
, paginationArgs?
): Promise
<Message
[]>
Returns message for the given address.
Name | Type | Description |
---|---|---|
address | 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:1063
▸ getNode(): NodeInfo
Returns the cached nodeInfo for the current URL.
packages/providers/src/provider.ts:299
▸ getResourcesToSpend(owner
, quantities
, excludedIds?
): Promise
<Resource
[]>
Returns resources for the given owner satisfying the spend query.
Name | Type | Description |
---|---|---|
owner | 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:801
▸ 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:962
▸ getTransactionCost(transactionRequestLike
, tolerance?
): 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. |
tolerance | number | 0.2 | The tolerance to add on top of the gasUsed. |
Promise
<TransactionCost
>
A promise that resolves to the transaction cost object.
packages/providers/src/provider.ts:725
▸ 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:448
▸ 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:1226
▸ sendTransaction(transactionRequestLike
): 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. |
Promise
<TransactionResponse
>
A promise that resolves to the transaction response object.
packages/providers/src/provider.ts:542
▸ simulate(transactionRequestLike
): 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. |
Promise
<CallResult
>
A promise that resolves to the call result object.
packages/providers/src/provider.ts:696
▸ switchUrl(url
): Promise
<void
>
Updates the URL for the provider and fetches the consensus parameters for the new URL, if needed.
Name | Type |
---|---|
url | string |
Promise
<void
>
packages/providers/src/provider.ts:329
▸ Private
Static
adaptSubscriptionResponse(originalResponse
): Promise
<Response
>
The subscription response processing serves two purposes:
event
field which is mandated by the graphql-sse library (not by the SSE protocol)
(see the library's protocol ) Name | Type |
---|---|
originalResponse | Response |
Promise
<Response
>
packages/providers/src/provider.ts:431
▸ Static
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 | Partial <ProviderOptions <Response >> | Additional options for the provider |
Promise
<Provider
>
packages/providers/src/provider.ts:276
▸ Private
Static
createSubscriptionClient(url
, fetchFn
, options
): Client
Name | Type |
---|---|
url | string |
fetchFn | CustomFetch <Response > |
options | ProviderOptions <Response > |
Client
packages/providers/src/provider.ts:396
▸ Private
Static
getFetchFn(options
): CustomFetch
<Response
>
Name | Type |
---|---|
options | ProviderOptions <Response > |
CustomFetch
<Response
>