Icon LinkClass: Contract

@fuel-ts/program.Contract

Contract provides a way to interact with the contract program type.

Icon LinkImplements

Icon LinkConstructors

Icon Linkconstructor

new Contract(id, abi, accountOrProvider)

Creates an instance of the Contract class.

Icon LinkParameters

NameTypeDescription
idstring | AbstractAddressThe contract's address.
abiJsonAbi | Interface<JsonAbi>The contract's ABI (JSON ABI or Interface instance).
accountOrProviderProvider | AccountThe account or provider for interaction.

Icon LinkDefined in

packages/program/src/contract.ts:49 Icon Link

Icon LinkProperties

Icon Linkaccount

account: null | Account

The account associated with the contract, if available.

Icon LinkImplementation of

AbstractContract.account

Icon LinkDefined in

packages/program/src/contract.ts:35 Icon Link


Icon Linkfunctions

functions: InvokeFunctions = {}

A collection of functions available on the contract.

Icon LinkDefined in

packages/program/src/contract.ts:40 Icon Link


Icon Linkid

id: AbstractAddress

The unique contract identifier.

Icon LinkImplementation of

AbstractContract.id

Icon LinkDefined in

packages/program/src/contract.ts:20 Icon Link


Icon Linkinterface

interface: Interface<JsonAbi>

The contract's ABI interface.

Icon LinkImplementation of

AbstractContract.interface

Icon LinkDefined in

packages/program/src/contract.ts:30 Icon Link


Icon Linkprovider

provider: Provider

The provider for interacting with the contract.

Icon LinkImplementation of

AbstractContract.provider

Icon LinkDefined in

packages/program/src/contract.ts:25 Icon Link

Icon LinkMethods

Icon LinkbuildFunction

buildFunction(func): (...args: unknown[]) => FunctionInvocationScope<unknown[], any>

Build a function invocation scope for the provided function fragment.

Icon LinkParameters

NameTypeDescription
funcFunctionFragment<JsonAbi, string>The function fragment to build a scope for.

Icon LinkReturns

fn

A function that creates a FunctionInvocationScope.

▸ (...args): FunctionInvocationScope<unknown[], any>

Icon LinkParameters
NameType
...argsunknown[]
Icon LinkReturns

FunctionInvocationScope<unknown[], any>

Icon LinkDefined in

packages/program/src/contract.ts:93 Icon Link


Icon LinkgetBalance

getBalance(assetId): Promise<BN>

Get the balance for a given asset ID for this contract.

Icon LinkParameters

NameTypeDescription
assetIdBytesLikeThe specified asset ID.

Icon LinkReturns

Promise<BN>

The balance of the contract for the specified asset.

Icon LinkDefined in

packages/program/src/contract.ts:114 Icon Link


Icon LinkmultiCall

multiCall(calls): MultiCallInvocationScope<any>

Create a multi-call invocation scope for the provided function invocation scopes.

Icon LinkParameters

NameTypeDescription
callsFunctionInvocationScope<any[], any>[]An array of FunctionInvocationScopes to execute in a batch.

Icon LinkReturns

MultiCallInvocationScope<any>

A MultiCallInvocationScope instance.

Icon LinkDefined in

packages/program/src/contract.ts:103 Icon Link