Skip to content

Interface

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:170

An Interface abstracts many of the low-level details for encoding and decoding the data on the blockchain.

An ABI provides information on how to encode data to send to a Contract, how to decode the results and events and how to interpret revert errors.

The ABI can be specified by any supported format.

new Interface(fragments): Interface;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:191

Create a new Interface for the %%fragments%%.

ParameterType
fragmentsInterfaceAbi

Interface

readonly deploy: ConstructorFragment;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:179

The Contract constructor.


readonly fallback:
| null
| FallbackFragment;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:183

The Fallback method, if any.


readonly fragments: readonly Fragment[];

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:175

All the Contract ABI members (i.e. methods, events, errors, etc).


readonly receive: boolean;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:187

If receiving ether is supported.

_decodeParams(params, data): Result;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:279

ParameterType
paramsreadonly ParamType[]
dataBytesLike

Result


_encodeParams(params, values): string;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:280

ParameterType
paramsreadonly ParamType[]
valuesreadonly any[]

string


decodeErrorResult(fragment, data): Result;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:295

Decodes the result %%data%% (e.g. from an eth_call) for the specified error (see [[getError]] for valid values for %%key%%).

Most developers should prefer the [[parseCallResult]] method instead, which will automatically detect a CALL_EXCEPTION and throw the corresponding error.

ParameterType
fragment| string | ErrorFragment
dataBytesLike

Result


decodeEventLog(
fragment,
data,
topics?): Result;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:345

ParameterType
fragment| string | EventFragment
dataBytesLike
topics?readonly string[]

Result


decodeFunctionData(fragment, data): Result;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:313

Decodes the %%data%% from a transaction tx.data for the function specified (see [[getFunction]] for valid values for %%fragment%%).

Most developers should prefer the [[parseTransaction]] method instead, which will automatically detect the fragment.

ParameterType
fragment| string | FunctionFragment
dataBytesLike

Result


decodeFunctionResult(fragment, data): Result;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:329

Decodes the result %%data%% (e.g. from an eth_call) for the specified function (see [[getFunction]] for valid values for %%key%%).

Most developers should prefer the [[parseCallResult]] method instead, which will automatically detect a CALL_EXCEPTION and throw the corresponding error.

ParameterType
fragment| string | FunctionFragment
dataBytesLike

Result


encodeDeploy(values?): string;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:285

Encodes a tx.data object for deploying the Contract with the %%values%% as the constructor arguments.

ParameterType
values?readonly any[]

string


encodeErrorResult(fragment, values?): string;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:304

Encodes the transaction revert data for a call result that reverted from the the Contract with the sepcified %%error%% (see [[getError]] for valid values for %%fragment%%) with the %%values%%.

This is generally not used by most developers, unless trying to mock a result from a Contract.

ParameterType
fragment| string | ErrorFragment
values?readonly any[]

string


encodeEventLog(fragment, values): object;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:341

ParameterType
fragment| string | EventFragment
valuesreadonly any[]

object

data: string;
topics: string[];

encodeFilterTopics(fragment, values): (null | string | string[])[];

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:340

ParameterType
fragment| string | EventFragment
valuesreadonly any[]

(null | string | string[])[]


encodeFunctionData(fragment, values?): string;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:319

Encodes the tx.data for a transaction that calls the function specified (see [[getFunction]] for valid values for %%fragment%%) with the %%values%%.

ParameterType
fragment| string | FunctionFragment
values?readonly any[]

string


encodeFunctionResult(fragment, values?): string;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:339

Encodes the result data (e.g. from an eth_call) for the specified function (see [[getFunction]] for valid values for %%fragment%%) with %%values%%.

This is generally not used by most developers, unless trying to mock a result from a Contract.

ParameterType
fragment| string | FunctionFragment
values?readonly any[]

string


forEachError(callback): void;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:278

Iterate over all errors, calling %%callback%%, sorted by their name.

ParameterType
callback(func, index) => void

void


forEachEvent(callback): void;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:263

Iterate over all events, calling %%callback%%, sorted by their name.

ParameterType
callback(func, index) => void

void


forEachFunction(callback): void;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:235

Iterate over all functions, calling %%callback%%, sorted by their name.

ParameterType
callback(func, index) => void

void


format(minimal?): string[];

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:197

Returns the entire Human-Readable ABI, as an array of signatures, optionally as %%minimal%% strings, which removes parameter names and unneceesary spaces.

ParameterType
minimal?boolean

string[]


formatJson(): string;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:202

Return the JSON-encoded ABI. This is the format Solidiy returns.

string


getAbiCoder(): AbiCoder;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:207

The ABI coder that will be used to encode and decode binary data.

AbiCoder


getError(key, values?):
| null
| ErrorFragment;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:274

Get the [[ErrorFragment]] for %%key%%, which may be an error selector, error name or error signature that belongs to the ABI.

If %%values%% is provided, it will use the Typed API to handle ambiguous cases where multiple errors match by name.

If the %%key%% and %%values%% do not refine to a single error in the ABI, this will throw.

ParameterType
keystring
values?any[]

| null | ErrorFragment


getEvent(key, values?):
| null
| EventFragment;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:259

Get the [[EventFragment]] for %%key%%, which may be a topic hash, event name or event signature that belongs to the ABI.

If %%values%% is provided, it will use the Typed API to handle ambiguous cases where multiple events match by name.

If the %%key%% and %%values%% do not refine to a single event in the ABI, this will throw.

ParameterType
keystring
values?any[]

| null | EventFragment


getEventName(key): string;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:240

Get the event name for %%key%%, which may be a topic hash, event name or event signature that belongs to the ABI.

ParameterType
keystring

string


getFunction(key, values?):
| null
| FunctionFragment;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:231

Get the [[FunctionFragment]] for %%key%%, which may be a function selector, function name or function signature that belongs to the ABI.

If %%values%% is provided, it will use the Typed API to handle ambiguous cases where multiple functions match by name.

If the %%key%% and %%values%% do not refine to a single function in the ABI, this will throw.

ParameterType
keystring
values?any[]

| null | FunctionFragment


getFunctionName(key): string;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:212

Get the function name for %%key%%, which may be a function selector, function name or function signature that belongs to the ABI.

ParameterType
keystring

string


hasEvent(key): boolean;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:248

Returns true if %%key%% (an event topic hash, event name or event signature) is present in the ABI.

In the case of an event name, the name may be ambiguous, so accessing the [[EventFragment]] may require refinement.

ParameterType
keystring

boolean


hasFunction(key): boolean;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:220

Returns true if %%key%% (a function selector, function name or function signature) is present in the ABI.

In the case of a function name, the name may be ambiguous, so accessing the [[FunctionFragment]] may require refinement.

ParameterType
keystring

boolean


makeError(_data, tx): CallExceptionError;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:330

ParameterType
_dataBytesLike
txCallExceptionTransaction

CallExceptionError


parseCallResult(data): Result;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:356

ParameterType
dataBytesLike

Result


parseError(data):
| null
| ErrorDescription;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:373

Parses a revert data, finding the matching error and extracts the parameter values along with other useful error details.

If the matching error cannot be found, returns null.

ParameterType
dataBytesLike

| null | ErrorDescription


parseLog(log):
| null
| LogDescription;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:363

Parses a receipt log, finding the matching event and extracts the parameter values along with other useful event details.

If the matching event cannot be found, returns null.

ParameterType
log{ data: string; topics: readonly string[]; }
log.datastring
log.topicsreadonly string[]

| null | LogDescription


parseTransaction(tx):
| null
| TransactionDescription;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:352

Parses a transaction, finding the matching function and extracts the parameter values along with other useful function details.

If the matching function cannot be found, return null.

ParameterType
tx{ data: string; value?: BigNumberish; }
tx.datastring
tx.value?BigNumberish

| null | TransactionDescription


static from(value): Interface;

Defined in: node_modules/.pnpm/ethers@6.15.0/node_modules/ethers/lib.esm/abi/interface.d.ts:380

Creates a new [[Interface]] from the ABI %%value%%.

The %%value%% may be provided as an existing [[Interface]] object, a JSON-encoded ABI or any Human-Readable ABI format.

ParameterType
value| Interface | InterfaceAbi

Interface