Skip to content

@fuel-ts/program v0.94.3Docs


Class: MultiCallInvocationScope<TReturn>

Represents a scope for invoking multiple calls.

Extends

  • BaseInvocationScope<TReturn>

Type Parameters

TReturn = any

The type of the return value.

Constructors

new MultiCallInvocationScope()

new MultiCallInvocationScope<TReturn>(contract, funcScopes): MultiCallInvocationScope<TReturn>

Constructs an instance of MultiCallInvocationScope.

Parameters

contract: AbstractContract

The contract.

funcScopes: FunctionInvocationScope<any[], any>[]

An array of function invocation scopes.

Returns

MultiCallInvocationScope<TReturn>

Overrides

BaseInvocationScope<TReturn>.constructor

Defined in

functions/multicall-scope.ts:19

Properties

externalAbis

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

Inherited from

BaseInvocationScope.externalAbis

Defined in

functions/base-invocation-scope.ts:67


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<object>

Type declaration

gasLimit

gasLimit: BigNumberish

maturity?

optional maturity: number

maxFee?

optional maxFee: BigNumberish

tip

tip: BigNumberish

variableOutputs

variableOutputs: number

witnessLimit?

optional witnessLimit: BigNumberish

Inherited from

BaseInvocationScope.txParameters

Defined in

functions/base-invocation-scope.ts:63

Accessors

calls

get protected 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:89

Methods

addBatchTransfer()

addBatchTransfer(transferParams): MultiCallInvocationScope<TReturn>

Adds multiple transfers to the contract call transaction request.

Parameters

transferParams: TransferParams[]

An array of TransferParams objects representing the transfers to be made.

Returns

MultiCallInvocationScope<TReturn>

The current instance of the class.

Inherited from

BaseInvocationScope.addBatchTransfer

Defined in

functions/base-invocation-scope.ts:337


addCall()

addCall(funcScope): MultiCallInvocationScope<TReturn>

Adds a single function invocation scope to the multi-call invocation scope.

Parameters

funcScope: FunctionInvocationScope<any[], any>

The function invocation scope.

Returns

MultiCallInvocationScope<TReturn>

The instance of MultiCallInvocationScope.

Overrides

BaseInvocationScope.addCall

Defined in

functions/multicall-scope.ts:30


addCalls()

addCalls(funcScopes): MultiCallInvocationScope<TReturn>

Adds multiple function invocation scopes to the multi-call invocation scope.

Parameters

funcScopes: FunctionInvocationScope<any[], any>[]

An array of function invocation scopes.

Returns

MultiCallInvocationScope<TReturn>

The instance of MultiCallInvocationScope.

Overrides

BaseInvocationScope.addCalls

Defined in

functions/multicall-scope.ts:40


addContracts()

addContracts(contracts): MultiCallInvocationScope<TReturn>

Adds contracts to the invocation scope.

Parameters

contracts: AbstractContract[]

An array of contracts to add.

Returns

MultiCallInvocationScope<TReturn>

The current instance of the class.

Inherited from

BaseInvocationScope.addContracts

Defined in

functions/base-invocation-scope.ts:305


addSigners()

addSigners(signers): MultiCallInvocationScope<TReturn>

Parameters

signers: Account | Account[]

Returns

MultiCallInvocationScope<TReturn>

Inherited from

BaseInvocationScope.addSigners

Defined in

functions/base-invocation-scope.ts:350


addTransfer()

addTransfer(transferParams): MultiCallInvocationScope<TReturn>

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

Parameters

transferParams: TransferParams

The object representing the transfer to be made.

Returns

MultiCallInvocationScope<TReturn>

The current instance of the class.

Inherited from

BaseInvocationScope.addTransfer

Defined in

functions/base-invocation-scope.ts:319


call()

call<T>(): Promise<object>

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

T = TReturn

The type of the return value.

Returns

Promise<object>

A promise that resolves to an object containing:

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

transactionId: string

waitForResult()

waitForResult: () => Promise<FunctionResult<T>>

Returns

Promise<FunctionResult<T>>

Inherited from

BaseInvocationScope.call

Defined in

functions/base-invocation-scope.ts:377


checkGasLimitTotal()

protected 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

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

T = TReturn

Returns

Promise<DryRunResult<T>>

Inherited from

BaseInvocationScope.get

Defined in

functions/base-invocation-scope.ts:449


getProvider()

getProvider(): Provider

Returns

Provider

Inherited from

BaseInvocationScope.getProvider

Defined in

functions/base-invocation-scope.ts:463


getRequiredCoins()

protected 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: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

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()

protected 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


simulate()

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

Simulates a transaction.

Type Parameters

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): MultiCallInvocationScope<TReturn>

Sets the transaction parameters.

Parameters

txParams: Partial<object>

The transaction parameters to set.

Returns

MultiCallInvocationScope<TReturn>

The current instance of the class.

Inherited from

BaseInvocationScope.txParams

Defined in

functions/base-invocation-scope.ts:284


updateContractInputAndOutput()

protected 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()

protected updateRequiredCoins(): void

Updates the required coins for the transaction.

Returns

void

Inherited from

BaseInvocationScope.updateRequiredCoins

Defined in

functions/base-invocation-scope.ts:151


updateScriptRequest()

protected 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