Skip to content

Class: FunctionInvocationScope<TArgs, TReturn> ​

@fuel-ts/program.FunctionInvocationScope

Represents a scope for invoking a function.

Type parameters ​

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

Hierarchy ​

  • BaseInvocationScope<TReturn>

    ↳ FunctionInvocationScope

Constructors ​

constructor ​

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

Constructs an instance of FunctionInvocationScope.

Type parameters ​

NameType
TArgsextends any[] = any[]
TReturnany

Parameters ​

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

Returns ​

FunctionInvocationScope<TArgs, TReturn>

Overrides ​

BaseInvocationScope<TReturn&gt;.constructor

Defined in ​

functions/invocation-scope.ts:34

Properties ​

args ​

• Protected args: TArgs

Defined in ​

functions/invocation-scope.ts:25


callParameters ​

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

Defined in ​

functions/invocation-scope.ts:23


externalAbis ​

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

Inherited from ​

BaseInvocationScope.externalAbis

Defined in ​

functions/base-invocation-scope.ts:66


forward ​

• Private Optional forward: CoinQuantity

Defined in ​

functions/invocation-scope.ts:24


func ​

• Protected func: FunctionFragment<JsonAbi, string>

Defined in ​

functions/invocation-scope.ts:22


functionInvocationScopes ​

• Protected functionInvocationScopes: InvocationScopeLike[] = []

Inherited from ​

BaseInvocationScope.functionInvocationScopes

Defined in ​

functions/base-invocation-scope.ts:61


hasCallParamsGasLimit ​

• Protected hasCallParamsGasLimit: boolean = false

Inherited from ​

BaseInvocationScope.hasCallParamsGasLimit

Defined in ​

functions/base-invocation-scope.ts:65


isMultiCall ​

• Protected isMultiCall: boolean = false

Inherited from ​

BaseInvocationScope.isMultiCall

Defined in ​

functions/base-invocation-scope.ts:64


program ​

• Protected program: AbstractProgram

Inherited from ​

BaseInvocationScope.program

Defined in ​

functions/base-invocation-scope.ts:60


requiredCoins ​

• Protected requiredCoins: CoinQuantity[] = []

Inherited from ​

BaseInvocationScope.requiredCoins

Defined in ​

functions/base-invocation-scope.ts:63


transactionRequest ​

• Protected transactionRequest: ScriptTransactionRequest

Inherited from ​

BaseInvocationScope.transactionRequest

Defined in ​

functions/base-invocation-scope.ts:59


txParameters ​

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

Inherited from ​

BaseInvocationScope.txParameters

Defined in ​

functions/base-invocation-scope.ts:62

Accessors ​

calls ​

• get calls(): ContractCall[]

Getter for the contract calls.

Returns ​

ContractCall[]

An array of contract calls.

Inherited from ​

BaseInvocationScope.calls

Defined in ​

functions/base-invocation-scope.ts:88

Methods ​

addBatchTransfer ​

▸ addBatchTransfer(transferParams): FunctionInvocationScope<TArgs, TReturn>

Adds multiple transfers to the contract call transaction request.

Parameters ​

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

Returns ​

FunctionInvocationScope<TArgs, TReturn>

The current instance of the class.

Inherited from ​

BaseInvocationScope.addBatchTransfer

Defined in ​

functions/base-invocation-scope.ts:339


addCall ​

▸ addCall(funcScope): FunctionInvocationScope<TArgs, TReturn>

Adds a single call to the invocation scope.

Parameters ​

NameTypeDescription
funcScopeInvocationScopeLikeThe function scope to add.

Returns ​

FunctionInvocationScope<TArgs, TReturn>

The current instance of the class.

Inherited from ​

BaseInvocationScope.addCall

Defined in ​

functions/base-invocation-scope.ts:174


addCalls ​

▸ addCalls(funcScopes): FunctionInvocationScope<TArgs, TReturn>

Adds multiple calls to the invocation scope.

Parameters ​

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

Returns ​

FunctionInvocationScope<TArgs, TReturn>

The current instance of the class.

Inherited from ​

BaseInvocationScope.addCalls

Defined in ​

functions/base-invocation-scope.ts:185


addContracts ​

▸ addContracts(contracts): FunctionInvocationScope<TArgs, TReturn>

Adds contracts to the invocation scope.

Parameters ​

NameTypeDescription
contractsAbstractContract[]An array of contracts to add.

Returns ​

FunctionInvocationScope<TArgs, TReturn>

The current instance of the class.

Inherited from ​

BaseInvocationScope.addContracts

Defined in ​

functions/base-invocation-scope.ts:307


addSigners ​

▸ addSigners(signers): FunctionInvocationScope<TArgs, TReturn>

Parameters ​

NameType
signersAccount | Account[]

Returns ​

FunctionInvocationScope<TArgs, TReturn>

Inherited from ​

BaseInvocationScope.addSigners

Defined in ​

functions/base-invocation-scope.ts:352


addTransfer ​

▸ addTransfer(transferParams): FunctionInvocationScope<TArgs, TReturn>

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

Parameters ​

NameTypeDescription
transferParamsTransferParamsThe object representing the transfer to be made.

Returns ​

FunctionInvocationScope<TArgs, TReturn>

The current instance of the class.

Inherited from ​

BaseInvocationScope.addTransfer

Defined in ​

functions/base-invocation-scope.ts:321


call ​

▸ 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.

Type parameters ​

NameTypeDescription
TTReturnThe type of the return value.

Returns ​

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.

Inherited from ​

BaseInvocationScope.call

Defined in ​

functions/base-invocation-scope.ts:379


callParams ​

▸ callParams(callParams): FunctionInvocationScope<TArgs, TReturn>

Sets the call parameters for the function invocation.

Throws

If the function is not payable and forward is set.

Parameters ​

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

Returns ​

FunctionInvocationScope<TArgs, TReturn>

The instance of FunctionInvocationScope.

Defined in ​

functions/invocation-scope.ts:77


checkGasLimitTotal ​

▸ checkGasLimitTotal(): void

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

Returns ​

void

Inherited from ​

BaseInvocationScope.checkGasLimitTotal

Defined in ​

functions/base-invocation-scope.ts:217


dryRun ​

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

Executes a transaction in dry run mode.

Type parameters ​

NameType
TTReturn

Returns ​

Promise<DryRunResult<T>>

The result of the invocation call.

Inherited from ​

BaseInvocationScope.dryRun

Defined in ​

functions/base-invocation-scope.ts:438


fundWithRequiredCoins ​

▸ fundWithRequiredCoins(): Promise<ScriptTransactionRequest>

Funds the transaction with the required coins.

Returns ​

Promise<ScriptTransactionRequest>

The current instance of the class.

Inherited from ​

BaseInvocationScope.fundWithRequiredCoins

Defined in ​

functions/base-invocation-scope.ts:254


get ​

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

Type parameters ​

NameType
TTReturn

Returns ​

Promise<DryRunResult<T>>

Inherited from ​

BaseInvocationScope.get

Defined in ​

functions/base-invocation-scope.ts:452


getCallConfig ​

▸ getCallConfig(): CallConfig<TArgs>

Gets the call configuration.

Returns ​

CallConfig<TArgs>

The call configuration.

Defined in ​

functions/invocation-scope.ts:47


getProvider ​

▸ getProvider(): Provider

Returns ​

Provider

Inherited from ​

BaseInvocationScope.getProvider

Defined in ​

functions/base-invocation-scope.ts:466


getRequiredCoins ​

▸ getRequiredCoins(): CoinQuantity[]

Gets the required coins for the transaction.

Returns ​

CoinQuantity[]

An array of required coin quantities.

Inherited from ​

BaseInvocationScope.getRequiredCoins

Defined in ​

functions/base-invocation-scope.ts:137


getTransactionCost ​

▸ getTransactionCost(): Promise<TransactionCost>

Gets the transaction cost ny dry running the transaction.

Returns ​

Promise<TransactionCost>

The transaction cost details.

Inherited from ​

BaseInvocationScope.getTransactionCost

Defined in ​

functions/base-invocation-scope.ts:236


getTransactionId ​

▸ getTransactionId(chainId?): Promise<string>

Obtains the ID of a transaction.

Parameters ​

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

Returns ​

Promise<string>

the ID of the transaction.

Inherited from ​

BaseInvocationScope.getTransactionId

Defined in ​

functions/base-invocation-scope.ts:478


getTransactionRequest ​

▸ getTransactionRequest(): Promise<ScriptTransactionRequest>

Prepares and returns the transaction request object.

Returns ​

Promise<ScriptTransactionRequest>

The prepared transaction request.

Inherited from ​

BaseInvocationScope.getTransactionRequest

Defined in ​

functions/base-invocation-scope.ts:364


prepareTransaction ​

▸ prepareTransaction(): Promise<void>

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

Returns ​

Promise<void>

Inherited from ​

BaseInvocationScope.prepareTransaction

Defined in ​

functions/base-invocation-scope.ts:195


setArguments ​

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

Sets the arguments for the function invocation.

Parameters ​

NameTypeDescription
...argsTArgsThe arguments.

Returns ​

FunctionInvocationScope<TArgs, TReturn>

The instance of FunctionInvocationScope.

Defined in ​

functions/invocation-scope.ts:65


simulate ​

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

Simulates a transaction.

Type parameters ​

NameType
TTReturn

Returns ​

Promise<DryRunResult<T>>

The result of the invocation call.

Inherited from ​

BaseInvocationScope.simulate

Defined in ​

functions/base-invocation-scope.ts:411


txParams ​

▸ txParams(txParams): FunctionInvocationScope<TArgs, TReturn>

Sets the transaction parameters.

Parameters ​

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

Returns ​

FunctionInvocationScope<TArgs, TReturn>

The current instance of the class.

Inherited from ​

BaseInvocationScope.txParams

Defined in ​

functions/base-invocation-scope.ts:286


updateContractInputAndOutput ​

▸ updateContractInputAndOutput(): void

Updates the transaction request with the current input/output.

Returns ​

void

Inherited from ​

BaseInvocationScope.updateContractInputAndOutput

Defined in ​

functions/base-invocation-scope.ts:118


updateRequiredCoins ​

▸ updateRequiredCoins(): void

Updates the required coins for the transaction.

Returns ​

void

Inherited from ​

BaseInvocationScope.updateRequiredCoins

Defined in ​

functions/base-invocation-scope.ts:150


updateScriptRequest ​

▸ updateScriptRequest(): void

Updates the script request with the current contract calls.

Returns ​

void

Inherited from ​

BaseInvocationScope.updateScriptRequest

Defined in ​

functions/base-invocation-scope.ts:104