A provider for connecting to a node
• Optional
cache: MemoryCache
• 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? : 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 > |
Icon Linkurl
• url: string
GraphQL endpoint of the Fuel node
▪ Private
Static
chainInfoCache: ChainInfoCache
= {}
▪ Private
Static
nodeInfoCache: NodeInfoCache
= {}
Icon Linkcall
▸
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.
A promise that resolves to the call result object.
▸ connect(url
, options?
): Promise
<void
>
Updates the URL for the provider and fetches the consensus parameters for the new URL, if needed.
Promise
<void
>
▸ 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? : 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 > |
▸
estimatePredicates(
transactionRequest
):
Promise
<
TransactionRequest
>
Verifies whether enough gas is available to complete transaction.
A promise that resolves to the estimated transaction request object.
▸
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.
A promise.
▸
fetchChain():
Promise
<
ChainInfo
>
Fetches the chainInfo
for the given node URL.
ChainInfo object
▸
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
▸
fetchNode():
Promise
<
NodeInfo
>
Returns the chain information.
NodeInfo object
▸ 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.
▸
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. |
A promise that resolves to the balances.
▸
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. |
A promise that resolves to the block.
▸ getBlockNumber(): Promise
<BN
>
Returns the block number.
Promise
<BN
>
A promise that resolves to the block number
▸
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.
▸
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. |
A promise that resolves to the blocks.
Returns the cached chainInfo for the current URL.
▸ getChainId(): number
Returns the chain ID
number
A promise that resolves to the chain ID number
▸
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 |
▸
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.
▸ 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.
▸ 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 |
▸
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.
▸
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. |
A promise that resolves to the message status
▸
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. |
A promise that resolves to the messages.
Returns the cached nodeInfo for the current URL.
▸
getResourcesForTransaction(
owner
,
transactionRequestLike
,
forwardingQuantities?
):
Promise
<{
estimatedInputs
:
TransactionRequestInput
[] ;
gasPrice
:
BN
;
gasUsed
:
BN
;
maxFee
:
BN
;
maxGas
:
BN
;
minFee
:
BN
;
minGas
:
BN
;
minGasPrice
:
BN
;
missingContractIds
:
string
[] ;
outputVariables
:
number
;
receipts
:
TransactionResultReceipt
[] ;
requiredQuantities
:
CoinQuantity
[] ;
resources
:
Resource
[] ;
usedFee
:
BN
}>
Promise
<{
estimatedInputs
:
TransactionRequestInput
[] ;
gasPrice
:
BN
;
gasUsed
:
BN
;
maxFee
:
BN
;
maxGas
:
BN
;
minFee
:
BN
;
minGas
:
BN
;
minGasPrice
:
BN
;
missingContractIds
:
string
[] ;
outputVariables
:
number
;
receipts
:
TransactionResultReceipt
[] ;
requiredQuantities
:
CoinQuantity
[] ;
resources
:
Resource
[] ;
usedFee
:
BN
}>
▸
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. |
A promise that resolves to the resources.
▸ 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.
▸
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.
A promise that resolves to the transaction cost object.
▸
getTransactionResponse(
transactionId
):
Promise
<
TransactionResponse
>
Name | Type |
---|
transactionId | string |
▸ getVersion(): Promise
<string
>
Returns the version of the connected node.
Promise
<string
>
A promise that resolves to the version string.
▸ 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 |
Promise
<BN
>
A promise that resolves to the block number of the last produced block.
▸
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.
A promise that resolves to the transaction response object.
▸
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
A promise that resolves to the call result object.
▸ clearChainAndNodeCaches(): void
void
▸
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 |
▸ ensureClientVersionIsSupported(nodeInfo
): void
void
▸
getFetchFn(
options
): (
url
:
string
,
requestInit?
:
RequestInit
,
providerOptions?
:
Omit
<
ProviderOptions
,
"fetch"
>) =>
Promise
<
Response
>
fn
▸ (url
, requestInit?
, providerOptions?
): Promise
<Response
>
Custom fetch function to use for making requests.
Name | Type |
---|
url | string |
requestInit? | RequestInit |
providerOptions? | Omit <ProviderOptions , "fetch" > |
Promise
<Response
>