Icon HelpCircleForumIcon Link

⌘K

Icon HelpCircleForumIcon Link
FunctionInvocationScope

Icon LinkClass: FunctionInvocationScope<TArgs, TReturn>

@fuel-ts/program .FunctionInvocationScope

Represents a scope for invoking a function.

Icon LinkType parameters

NameTypeDescription
TArgsextends any[] = any[]The type of the function arguments.
TReturnanyThe type of the return value.

Icon LinkHierarchy

  • BaseInvocationScope<TReturn>

    FunctionInvocationScope

Icon LinkConstructors

Icon Linkconstructor

new FunctionInvocationScope<TArgs, TReturn>(program, func, args): FunctionInvocationScope <TArgs, TReturn>

Constructs an instance of FunctionInvocationScope.

Icon LinkType parameters

NameType
TArgsextends any[] = any[]
TReturnany

Icon LinkParameters

NameTypeDescription
programAbstractProgramThe program.
funcFunctionFragment<JsonAbi, string>The function fragment.
argsTArgsThe arguments.

Icon LinkReturns

FunctionInvocationScope <TArgs, TReturn>

Icon LinkOverrides

BaseInvocationScope<TReturn&gt;.constructor

Icon LinkDefined in

functions/invocation-scope.ts:34 Icon Link

Icon LinkProperties

Icon Linkargs

Protected args: TArgs

Icon LinkDefined in

functions/invocation-scope.ts:25 Icon Link


Icon LinkcallParameters

Private Optional callParameters: Partial<{ forward: CoinQuantityLike ; gasLimit: BigNumberish }>

Icon LinkDefined in

functions/invocation-scope.ts:23 Icon Link


Icon LinkexternalAbis

Protected externalAbis: Record<string, JsonAbi> = {}

Icon LinkInherited from

BaseInvocationScope.externalAbis

Icon LinkDefined in

functions/base-invocation-scope.ts:66 Icon Link


Icon Linkforward

Private Optional forward: CoinQuantity

Icon LinkDefined in

functions/invocation-scope.ts:24 Icon Link


Icon Linkfunc

Protected func: FunctionFragment<JsonAbi, string>

Icon LinkDefined in

functions/invocation-scope.ts:22 Icon Link


Icon LinkfunctionInvocationScopes

Protected functionInvocationScopes: InvocationScopeLike [] = []

Icon LinkInherited from

BaseInvocationScope.functionInvocationScopes

Icon LinkDefined in

functions/base-invocation-scope.ts:61 Icon Link


Icon LinkhasCallParamsGasLimit

Protected hasCallParamsGasLimit: boolean = false

Icon LinkInherited from

BaseInvocationScope.hasCallParamsGasLimit

Icon LinkDefined in

functions/base-invocation-scope.ts:65 Icon Link


Icon LinkisMultiCall

Protected isMultiCall: boolean = false

Icon LinkInherited from

BaseInvocationScope.isMultiCall

Icon LinkDefined in

functions/base-invocation-scope.ts:64 Icon Link


Icon Linkprogram

Protected program: AbstractProgram

Icon LinkInherited from

BaseInvocationScope.program

Icon LinkDefined in

functions/base-invocation-scope.ts:60 Icon Link


Icon LinkrequiredCoins

Protected requiredCoins: CoinQuantity [] = []

Icon LinkInherited from

BaseInvocationScope.requiredCoins

Icon LinkDefined in

functions/base-invocation-scope.ts:63 Icon Link


Icon LinktransactionRequest

Protected transactionRequest: ScriptTransactionRequest

Icon LinkInherited from

BaseInvocationScope.transactionRequest

Icon LinkDefined in

functions/base-invocation-scope.ts:59 Icon Link


Icon LinktxParameters

Protected Optional txParameters: Partial<{ gasLimit: BigNumberish ; maturity?: number ; maxFee?: BigNumberish ; tip: BigNumberish ; variableOutputs: number ; witnessLimit?: BigNumberish }>

Icon LinkInherited from

BaseInvocationScope.txParameters

Icon LinkDefined in

functions/base-invocation-scope.ts:62 Icon Link

Icon LinkAccessors

Icon Linkcalls

get calls(): ContractCall []

Getter for the contract calls.

Icon LinkReturns

ContractCall []

An array of contract calls.

Icon LinkInherited from

BaseInvocationScope.calls

Icon LinkDefined in

functions/base-invocation-scope.ts:88 Icon Link

Icon LinkMethods

Icon LinkaddBatchTransfer

addBatchTransfer(transferParams): FunctionInvocationScope <TArgs, TReturn>

Adds multiple transfers to the contract call transaction request.

Icon LinkParameters

NameTypeDescription
transferParamsTransferParams []An array of TransferParams objects representing the transfers to be made.

Icon LinkReturns

FunctionInvocationScope <TArgs, TReturn>

The current instance of the class.

Icon LinkInherited from

BaseInvocationScope.addBatchTransfer

Icon LinkDefined in

functions/base-invocation-scope.ts:339 Icon Link


Icon LinkaddCall

addCall(funcScope): FunctionInvocationScope <TArgs, TReturn>

Adds a single call to the invocation scope.

Icon LinkParameters

NameTypeDescription
funcScopeInvocationScopeLike The function scope to add.

Icon LinkReturns

FunctionInvocationScope <TArgs, TReturn>

The current instance of the class.

Icon LinkInherited from

BaseInvocationScope.addCall

Icon LinkDefined in

functions/base-invocation-scope.ts:174 Icon Link


Icon LinkaddCalls

addCalls(funcScopes): FunctionInvocationScope <TArgs, TReturn>

Adds multiple calls to the invocation scope.

Icon LinkParameters

NameTypeDescription
funcScopesInvocationScopeLike []An array of function scopes to add.

Icon LinkReturns

FunctionInvocationScope <TArgs, TReturn>

The current instance of the class.

Icon LinkInherited from

BaseInvocationScope.addCalls

Icon LinkDefined in

functions/base-invocation-scope.ts:185 Icon Link


Icon LinkaddContracts

addContracts(contracts): FunctionInvocationScope <TArgs, TReturn>

Adds contracts to the invocation scope.

Icon LinkParameters

NameTypeDescription
contractsAbstractContract []An array of contracts to add.

Icon LinkReturns

FunctionInvocationScope <TArgs, TReturn>

The current instance of the class.

Icon LinkInherited from

BaseInvocationScope.addContracts

Icon LinkDefined in

functions/base-invocation-scope.ts:307 Icon Link


Icon LinkaddSigners

addSigners(signers): FunctionInvocationScope <TArgs, TReturn>

Icon LinkParameters

NameType
signersAccount | Account []

Icon LinkReturns

FunctionInvocationScope <TArgs, TReturn>

Icon LinkInherited from

BaseInvocationScope.addSigners

Icon LinkDefined in

functions/base-invocation-scope.ts:352 Icon Link


Icon LinkaddTransfer

addTransfer(transferParams): FunctionInvocationScope <TArgs, TReturn>

Adds an asset transfer to an Account on the contract call transaction request.

Icon LinkParameters

NameTypeDescription
transferParamsTransferParams The object representing the transfer to be made.

Icon LinkReturns

FunctionInvocationScope <TArgs, TReturn>

The current instance of the class.

Icon LinkInherited from

BaseInvocationScope.addTransfer

Icon LinkDefined in

functions/base-invocation-scope.ts:321 Icon Link


Icon Linkcall

call<T>(): Promise<{ transactionId: string ; waitForResult: () => Promise<FunctionResult <T>> }>

Submits the contract call transaction and returns a promise that resolves to an object containing the transaction ID and a function to wait for the result. The promise will resolve as soon as the transaction is submitted to the node.

Icon LinkType parameters

NameTypeDescription
TTReturnThe type of the return value.

Icon LinkReturns

Promise<{ transactionId: string ; waitForResult: () => Promise<FunctionResult <T>> }>

A promise that resolves to an object containing:

  • transactionId: The ID of the submitted transaction.
  • waitForResult: A function that waits for the transaction result.

Icon LinkInherited from

BaseInvocationScope.call

Icon LinkDefined in

functions/base-invocation-scope.ts:379 Icon Link


Icon LinkcallParams

callParams(callParams): FunctionInvocationScope <TArgs, TReturn>

Sets the call parameters for the function invocation.

Throws

If the function is not payable and forward is set.

Icon LinkParameters

NameTypeDescription
callParamsPartial<{ forward: CoinQuantityLike ; gasLimit: BigNumberish }>The call parameters.

Icon LinkReturns

FunctionInvocationScope <TArgs, TReturn>

The instance of FunctionInvocationScope.

Icon LinkDefined in

functions/invocation-scope.ts:77 Icon Link


Icon LinkcheckGasLimitTotal

checkGasLimitTotal(): void

Checks if the total gas limit is within the acceptable range.

Icon LinkReturns

void

Icon LinkInherited from

BaseInvocationScope.checkGasLimitTotal

Icon LinkDefined in

functions/base-invocation-scope.ts:217 Icon Link


Icon LinkdryRun

dryRun<T>(): Promise<DryRunResult <T>>

Executes a transaction in dry run mode.

Icon LinkType parameters

NameType
TTReturn

Icon LinkReturns

Promise<DryRunResult <T>>

The result of the invocation call.

Icon LinkInherited from

BaseInvocationScope.dryRun

Icon LinkDefined in

functions/base-invocation-scope.ts:438 Icon Link


Icon LinkfundWithRequiredCoins

fundWithRequiredCoins(): Promise<ScriptTransactionRequest >

Funds the transaction with the required coins.

Icon LinkReturns

Promise<ScriptTransactionRequest >

The current instance of the class.

Icon LinkInherited from

BaseInvocationScope.fundWithRequiredCoins

Icon LinkDefined in

functions/base-invocation-scope.ts:254 Icon Link


Icon Linkget

get<T>(): Promise<DryRunResult <T>>

Icon LinkType parameters

NameType
TTReturn

Icon LinkReturns

Promise<DryRunResult <T>>

Icon LinkInherited from

BaseInvocationScope.get

Icon LinkDefined in

functions/base-invocation-scope.ts:452 Icon Link


Icon LinkgetCallConfig

getCallConfig(): CallConfig <TArgs>

Gets the call configuration.

Icon LinkReturns

CallConfig <TArgs>

The call configuration.

Icon LinkDefined in

functions/invocation-scope.ts:47 Icon Link


Icon LinkgetProvider

getProvider(): Provider

Icon LinkReturns

Provider

Icon LinkInherited from

BaseInvocationScope.getProvider

Icon LinkDefined in

functions/base-invocation-scope.ts:466 Icon Link


Icon LinkgetRequiredCoins

getRequiredCoins(): CoinQuantity []

Gets the required coins for the transaction.

Icon LinkReturns

CoinQuantity []

An array of required coin quantities.

Icon LinkInherited from

BaseInvocationScope.getRequiredCoins

Icon LinkDefined in

functions/base-invocation-scope.ts:137 Icon Link


Icon LinkgetTransactionCost

getTransactionCost(): Promise<TransactionCost >

Gets the transaction cost ny dry running the transaction.

Icon LinkReturns

Promise<TransactionCost >

The transaction cost details.

Icon LinkInherited from

BaseInvocationScope.getTransactionCost

Icon LinkDefined in

functions/base-invocation-scope.ts:236 Icon Link


Icon LinkgetTransactionId

getTransactionId(chainId?): Promise<string>

Obtains the ID of a transaction.

Icon LinkParameters

NameTypeDescription
chainId?numberthe chainId to use to hash the transaction with

Icon LinkReturns

Promise<string>

the ID of the transaction.

Icon LinkInherited from

BaseInvocationScope.getTransactionId

Icon LinkDefined in

functions/base-invocation-scope.ts:478 Icon Link


Icon LinkgetTransactionRequest

getTransactionRequest(): Promise<ScriptTransactionRequest >

Prepares and returns the transaction request object.

Icon LinkReturns

Promise<ScriptTransactionRequest >

The prepared transaction request.

Icon LinkInherited from

BaseInvocationScope.getTransactionRequest

Icon LinkDefined in

functions/base-invocation-scope.ts:364 Icon Link


Icon LinkprepareTransaction

prepareTransaction(): Promise<void>

Prepares the transaction by updating the script request, required coins, and checking the gas limit.

Icon LinkReturns

Promise<void>

Icon LinkInherited from

BaseInvocationScope.prepareTransaction

Icon LinkDefined in

functions/base-invocation-scope.ts:195 Icon Link


Icon LinksetArguments

setArguments(...args): FunctionInvocationScope <TArgs, TReturn>

Sets the arguments for the function invocation.

Icon LinkParameters

NameTypeDescription
...argsTArgsThe arguments.

Icon LinkReturns

FunctionInvocationScope <TArgs, TReturn>

The instance of FunctionInvocationScope.

Icon LinkDefined in

functions/invocation-scope.ts:65 Icon Link


Icon Linksimulate

simulate<T>(): Promise<DryRunResult <T>>

Simulates a transaction.

Icon LinkType parameters

NameType
TTReturn

Icon LinkReturns

Promise<DryRunResult <T>>

The result of the invocation call.

Icon LinkInherited from

BaseInvocationScope.simulate

Icon LinkDefined in

functions/base-invocation-scope.ts:411 Icon Link


Icon LinktxParams

txParams(txParams): FunctionInvocationScope <TArgs, TReturn>

Sets the transaction parameters.

Icon LinkParameters

NameTypeDescription
txParamsPartial<{ gasLimit: BigNumberish ; maturity?: number ; maxFee?: BigNumberish ; tip: BigNumberish ; variableOutputs: number ; witnessLimit?: BigNumberish }>The transaction parameters to set.

Icon LinkReturns

FunctionInvocationScope <TArgs, TReturn>

The current instance of the class.

Icon LinkInherited from

BaseInvocationScope.txParams

Icon LinkDefined in

functions/base-invocation-scope.ts:286 Icon Link


Icon LinkupdateContractInputAndOutput

updateContractInputAndOutput(): void

Updates the transaction request with the current input/output.

Icon LinkReturns

void

Icon LinkInherited from

BaseInvocationScope.updateContractInputAndOutput

Icon LinkDefined in

functions/base-invocation-scope.ts:118 Icon Link


Icon LinkupdateRequiredCoins

updateRequiredCoins(): void

Updates the required coins for the transaction.

Icon LinkReturns

void

Icon LinkInherited from

BaseInvocationScope.updateRequiredCoins

Icon LinkDefined in

functions/base-invocation-scope.ts:150 Icon Link


Icon LinkupdateScriptRequest

updateScriptRequest(): void

Updates the script request with the current contract calls.

Icon LinkReturns

void

Icon LinkInherited from

BaseInvocationScope.updateScriptRequest

Icon LinkDefined in

functions/base-invocation-scope.ts:104 Icon Link