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

Icon LinkProperties

Icon Linkargs

Protected args: TArgs

Icon LinkDefined in


Icon LinkcallParameters

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

Icon LinkDefined in


Icon LinkexternalAbis

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

Icon LinkInherited from

BaseInvocationScope.externalAbis

Icon LinkDefined in


Icon Linkforward

Private Optional forward: CoinQuantity

Icon LinkDefined in


Icon Linkfunc

Protected func: FunctionFragment<JsonAbi, string>

Icon LinkDefined in


Icon LinkfunctionInvocationScopes

Protected functionInvocationScopes: InvocationScopeLike [] = []

Icon LinkInherited from

BaseInvocationScope.functionInvocationScopes

Icon LinkDefined in


Icon LinkhasCallParamsGasLimit

Protected hasCallParamsGasLimit: boolean = false

Icon LinkInherited from

BaseInvocationScope.hasCallParamsGasLimit

Icon LinkDefined in


Icon LinkisMultiCall

Protected isMultiCall: boolean = false

Icon LinkInherited from

BaseInvocationScope.isMultiCall

Icon LinkDefined in


Icon Linkprogram

Protected program: AbstractProgram

Icon LinkInherited from

BaseInvocationScope.program

Icon LinkDefined in


Icon LinkrequiredCoins

Protected requiredCoins: CoinQuantity [] = []

Icon LinkInherited from

BaseInvocationScope.requiredCoins

Icon LinkDefined in


Icon LinktransactionRequest

Protected transactionRequest: ScriptTransactionRequest

Icon LinkInherited from

BaseInvocationScope.transactionRequest

Icon LinkDefined in


Icon LinktxParameters

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

Icon LinkInherited from

BaseInvocationScope.txParameters

Icon LinkDefined in

Icon LinkAccessors

Icon Linkcalls

get calls(): ContractCall []
Getter for the contract calls.

Icon LinkReturns

An array of contract calls.

Icon LinkInherited from

BaseInvocationScope.calls

Icon LinkDefined in

Icon LinkMethods

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


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


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


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


Icon LinkaddTransfer

addTransfer(destination, amount, assetId): FunctionInvocationScope <TArgs, TReturn>
Adds an asset transfer to an Account on the contract call transaction request.

Icon LinkParameters

NameTypeDescription
destinationstring | AbstractAddress The address of the destination.
amountBigNumberishThe amount of coins to transfer.
assetIdstringThe asset ID of the coins to transfer.

Icon LinkReturns

FunctionInvocationScope <TArgs, TReturn>
The current instance of the class.

Icon LinkInherited from

BaseInvocationScope.addTransfer

Icon LinkDefined in


Icon Linkcall

call<T>(): Promise<FunctionInvocationResult <T, void>>
Submits a transaction.

Icon LinkType parameters

NameType
TTReturn

Icon LinkReturns

Promise<FunctionInvocationResult <T, void>>
The result of the function invocation.

Icon LinkInherited from

BaseInvocationScope.call

Icon LinkDefined in


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


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


Icon LinkdryRun

dryRun<T>(): Promise<InvocationCallResult <T>>
Executes a transaction in dry run mode.

Icon LinkType parameters

NameType
TTReturn

Icon LinkReturns

Promise<InvocationCallResult <T>>
The result of the invocation call.

Icon LinkInherited from

BaseInvocationScope.dryRun

Icon LinkDefined in


Icon LinkfundWithRequiredCoins

fundWithRequiredCoins(): Promise<FunctionInvocationScope <TArgs, TReturn>>
Funds the transaction with the required coins.

Icon LinkReturns

Promise<FunctionInvocationScope <TArgs, TReturn>>
The current instance of the class.

Icon LinkInherited from

BaseInvocationScope.fundWithRequiredCoins

Icon LinkDefined in


Icon Linkget

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

Icon LinkType parameters

NameType
TTReturn

Icon LinkReturns

Promise<InvocationCallResult <T>>

Icon LinkInherited from

BaseInvocationScope.get

Icon LinkDefined in


Icon LinkgetCallConfig

getCallConfig(): CallConfig <TArgs>
Gets the call configuration.

Icon LinkReturns

CallConfig <TArgs>
The call configuration.

Icon LinkDefined in


Icon LinkgetProvider

getProvider(): Provider

Icon LinkReturns

Icon LinkInherited from

BaseInvocationScope.getProvider

Icon LinkDefined in


Icon LinkgetRequiredCoins

getRequiredCoins(): CoinQuantity []
Gets the required coins for the transaction.

Icon LinkReturns

An array of required coin quantities.

Icon LinkInherited from

BaseInvocationScope.getRequiredCoins

Icon LinkDefined in


Icon LinkgetTransactionCost

getTransactionCost(options?): Promise<TransactionCost >
Gets the transaction cost ny dry running the transaction.

Icon LinkParameters

NameTypeDescription
options?Partial<{ fundTransaction: boolean ; gasPrice: BigNumberish }>Optional transaction cost options.

Icon LinkReturns

Promise<TransactionCost >
The transaction cost details.

Icon LinkInherited from

BaseInvocationScope.getTransactionCost

Icon LinkDefined in


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


Icon LinkgetTransactionRequest

getTransactionRequest(): Promise<ScriptTransactionRequest >
Prepares and returns the transaction request object.

Icon LinkReturns

The prepared transaction request.

Icon LinkInherited from

BaseInvocationScope.getTransactionRequest

Icon LinkDefined in


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


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


Icon Linksimulate

simulate<T>(): Promise<InvocationCallResult <T>>
Simulates a transaction.

Icon LinkType parameters

NameType
TTReturn

Icon LinkReturns

Promise<InvocationCallResult <T>>
The result of the invocation call.

Icon LinkInherited from

BaseInvocationScope.simulate

Icon LinkDefined in


Icon LinktxParams

txParams(txParams): FunctionInvocationScope <TArgs, TReturn>
Sets the transaction parameters.

Icon LinkParameters

NameTypeDescription
txParamsPartial<{ gasLimit: BigNumberish ; gasPrice: BigNumberish ; maturity?: number ; maxFee?: 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


Icon LinkupdateContractInputAndOutput

updateContractInputAndOutput(): void
Updates the transaction request with the current input/output.

Icon LinkReturns

void

Icon LinkInherited from

BaseInvocationScope.updateContractInputAndOutput

Icon LinkDefined in


Icon LinkupdateRequiredCoins

updateRequiredCoins(): void
Updates the required coins for the transaction.

Icon LinkReturns

void

Icon LinkInherited from

BaseInvocationScope.updateRequiredCoins

Icon LinkDefined in


Icon LinkupdateScriptRequest

updateScriptRequest(): void
Updates the script request with the current contract calls.

Icon LinkReturns

void

Icon LinkInherited from

BaseInvocationScope.updateScriptRequest

Icon LinkDefined in