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.

Constructors

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

    Parameters

    Returns Interface

Properties

#private: any

The Contract constructor.

The Fallback method, if any.

fragments: readonly Fragment[]

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

receive: boolean

If receiving ether is supported.

Methods

  • Parameters

    Returns Result

  • Parameters

    • params: readonly ParamType[]
    • values: readonly any[]

    Returns string

  • 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.

    Parameters

    Returns Result

  • Parameters

    • fragment: string | EventFragment
    • data: BytesLike
    • Optional topics: readonly string[]

    Returns Result

  • 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.

    Parameters

    Returns Result

  • 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.

    Parameters

    Returns Result

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

    Parameters

    • Optional values: readonly any[]

    Returns string

  • 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.

    Parameters

    Returns string

  • Parameters

    Returns {
        data: string;
        topics: string[];
    }

    • data: string
    • topics: string[]
  • Parameters

    Returns (string | string[])[]

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

    Parameters

    Returns string

  • 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.

    Parameters

    Returns string

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

    Parameters

    • callback: ((func, index) => void)
        • (func, index): void
        • Parameters

          Returns void

    Returns void

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

    Parameters

    • callback: ((func, index) => void)
        • (func, index): void
        • Parameters

          Returns void

    Returns void

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

    Parameters

    • callback: ((func, index) => void)

    Returns void

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

    Parameters

    • Optional minimal: boolean

    Returns string[]

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

    Returns string

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

    Returns AbiCoder

  • 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.

    Parameters

    • key: string
    • Optional values: any[]

    Returns ErrorFragment

  • 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.

    Parameters

    • key: string
    • Optional values: any[]

    Returns EventFragment

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

    Parameters

    • key: string

    Returns string

  • 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.

    Parameters

    • key: string
    • Optional values: any[]

    Returns FunctionFragment

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

    Parameters

    • key: string

    Returns string

  • 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.

    Parameters

    • key: string

    Returns boolean

  • 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.

    Parameters

    • key: string

    Returns boolean

  • Parameters

    • data: BytesLike

    Returns Result

  • 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.

    Parameters

    • data: BytesLike

    Returns ErrorDescription

  • 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.

    Parameters

    • log: {
          data: string;
          topics: readonly string[];
      }
      • data: string
      • topics: readonly string[]

    Returns LogDescription

  • 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.

    Parameters

    • tx: {
          data: string;
          value?: BigNumberish;
      }
      • data: string
      • Optional value?: BigNumberish

    Returns TransactionDescription

  • 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.

    Parameters

    Returns Interface

Generated using TypeDoc