Class: FunctionInvocationScope<TArgs, TReturn>
@fuel-ts/program.FunctionInvocationScope
Represents a scope for invoking a function.
Type parameters
Name | Type | Description |
---|---|---|
TArgs | extends any [] = any [] | The type of the function arguments. |
TReturn | any | The 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
Name | Type |
---|---|
TArgs | extends any [] = any [] |
TReturn | any |
Parameters
Name | Type | Description |
---|---|---|
program | AbstractProgram | The program. |
func | FunctionFragment | The function fragment. |
args | TArgs | The arguments. |
Returns
FunctionInvocationScope
<TArgs
, TReturn
>
Overrides
BaseInvocationScope<TReturn>.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:67
forward
• Private
Optional
forward: CoinQuantity
Defined in
functions/invocation-scope.ts:24
func
• Protected
func: FunctionFragment
Defined in
functions/invocation-scope.ts:22
functionInvocationScopes
• Protected
functionInvocationScopes: InvocationScopeLike
[] = []
Inherited from
BaseInvocationScope.functionInvocationScopes
Defined in
functions/base-invocation-scope.ts:62
hasCallParamsGasLimit
• Protected
hasCallParamsGasLimit: boolean
= false
Inherited from
BaseInvocationScope.hasCallParamsGasLimit
Defined in
functions/base-invocation-scope.ts:66
isMultiCall
• Protected
isMultiCall: boolean
= false
Inherited from
BaseInvocationScope.isMultiCall
Defined in
functions/base-invocation-scope.ts:65
program
• Protected
program: AbstractProgram
Inherited from
BaseInvocationScope.program
Defined in
functions/base-invocation-scope.ts:61
requiredCoins
• Protected
requiredCoins: CoinQuantity
[] = []
Inherited from
BaseInvocationScope.requiredCoins
Defined in
functions/base-invocation-scope.ts:64
transactionRequest
• Protected
transactionRequest: ScriptTransactionRequest
Inherited from
BaseInvocationScope.transactionRequest
Defined in
functions/base-invocation-scope.ts:60
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:63
Accessors
calls
• get
calls(): ContractCall
[]
Getter for the contract calls.
Returns
An array of contract calls.
Inherited from
BaseInvocationScope.calls
Defined in
functions/base-invocation-scope.ts:89
Methods
addBatchTransfer
▸ addBatchTransfer(transferParams
): FunctionInvocationScope
<TArgs
, TReturn
>
Adds multiple transfers to the contract call transaction request.
Parameters
Name | Type | Description |
---|---|---|
transferParams | TransferParams [] | 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:337
addCall
▸ addCall(funcScope
): FunctionInvocationScope
<TArgs
, TReturn
>
Adds a single call to the invocation scope.
Parameters
Name | Type | Description |
---|---|---|
funcScope | InvocationScopeLike | The 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:175
addCalls
▸ addCalls(funcScopes
): FunctionInvocationScope
<TArgs
, TReturn
>
Adds multiple calls to the invocation scope.
Parameters
Name | Type | Description |
---|---|---|
funcScopes | InvocationScopeLike [] | 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:186
addContracts
▸ addContracts(contracts
): FunctionInvocationScope
<TArgs
, TReturn
>
Adds contracts to the invocation scope.
Parameters
Name | Type | Description |
---|---|---|
contracts | AbstractContract [] | 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:305
addSigners
▸ addSigners(signers
): FunctionInvocationScope
<TArgs
, TReturn
>
Parameters
Name | Type |
---|---|
signers | Account | Account [] |
Returns
FunctionInvocationScope
<TArgs
, TReturn
>
Inherited from
BaseInvocationScope.addSigners
Defined in
functions/base-invocation-scope.ts:350
addTransfer
▸ addTransfer(transferParams
): FunctionInvocationScope
<TArgs
, TReturn
>
Adds an asset transfer to an Account on the contract call transaction request.
Parameters
Name | Type | Description |
---|---|---|
transferParams | TransferParams | The 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:319
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
Name | Type | Description |
---|---|---|
T | TReturn | The 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:377
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
Name | Type | Description |
---|---|---|
callParams | Partial <{ 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:218
dryRun
▸ dryRun<T
>(): Promise
<DryRunResult
<T
>>
Executes a transaction in dry run mode.
Type parameters
Name | Type |
---|---|
T | TReturn |
Returns
Promise
<DryRunResult
<T
>>
The result of the invocation call.
Inherited from
BaseInvocationScope.dryRun
Defined in
functions/base-invocation-scope.ts:435
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:252
get
▸ get<T
>(): Promise
<DryRunResult
<T
>>
Type parameters
Name | Type |
---|---|
T | TReturn |
Returns
Promise
<DryRunResult
<T
>>
Inherited from
BaseInvocationScope.get
Defined in
functions/base-invocation-scope.ts:449
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
Inherited from
BaseInvocationScope.getProvider
Defined in
functions/base-invocation-scope.ts:463
getRequiredCoins
▸ getRequiredCoins(): CoinQuantity
[]
Gets the required coins for the transaction.
Returns
An array of required coin quantities.
Inherited from
BaseInvocationScope.getRequiredCoins
Defined in
functions/base-invocation-scope.ts:138
getTransactionCost
▸ getTransactionCost(): Promise
<TransactionCost
>
Gets the transaction cost for dry running the transaction.
Returns
Promise
<TransactionCost
>
The transaction cost details.
Inherited from
BaseInvocationScope.getTransactionCost
Defined in
functions/base-invocation-scope.ts:237
getTransactionId
▸ getTransactionId(chainId?
): Promise
<string
>
Obtains the ID of a transaction.
Parameters
Name | Type | Description |
---|---|---|
chainId? | number | the 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:475
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:362
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:196
setArguments
▸ setArguments(...args
): FunctionInvocationScope
<TArgs
, TReturn
>
Sets the arguments for the function invocation.
Parameters
Name | Type | Description |
---|---|---|
...args | TArgs | The 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
Name | Type |
---|---|
T | TReturn |
Returns
Promise
<DryRunResult
<T
>>
The result of the invocation call.
Inherited from
BaseInvocationScope.simulate
Defined in
functions/base-invocation-scope.ts:408
txParams
▸ txParams(txParams
): FunctionInvocationScope
<TArgs
, TReturn
>
Sets the transaction parameters.
Parameters
Name | Type | Description |
---|---|---|
txParams | Partial <{ 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:284
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:119
updateRequiredCoins
▸ updateRequiredCoins(): void
Updates the required coins for the transaction.
Returns
void
Inherited from
BaseInvocationScope.updateRequiredCoins
Defined in
functions/base-invocation-scope.ts:151
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:105