Skip to content

AbiItem.fromAbi

Extracts an AbiItem.AbiItem from an Abi.Abi given a name and optional arguments.

Imports

Named
import { AbiItem } from 'ox'

Examples

ABI Items can be extracted by their name using the name option:

import { Abi, AbiItem } from 'ox'
 
const abi = Abi.from([
  'function foo()',
  'event Transfer(address owner, address to, uint256 tokenId)',
  'function bar(string a) returns (uint256 x)',
])
 
const 
const item: { readonly name: "Transfer"; readonly type: "event"; readonly inputs: readonly [...]; }
item
= AbiItem.fromAbi(abi, 'Transfer')

Extracting by Selector

ABI Items can be extract by their selector when Hex.Hex is provided to name.

import { Abi, AbiItem } from 'ox'
 
const abi = Abi.from([
  'function foo()',
  'event Transfer(address owner, address to, uint256 tokenId)',
  'function bar(string a) returns (uint256 x)',
])
const 
const item: { readonly name: "foo"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly []; readonly outputs: readonly []; } | { readonly name: "Transfer"; readonly type: "event"; readonly inputs: readonly [...]; } | { ...; }
item
= AbiItem.fromAbi(abi, '0x095ea7b3')

Definition

function fromAbi<abi, name, args, allNames>(
  abi: abi | Abi.Abi | readonly unknown[],
  name: Hex.Hex | (name extends allNames ? name : never),
  options?: fromAbi.Options<abi, name, args>,
): fromAbi.ReturnType<abi, name, args>

Source: src/AbiItem.ts

Parameters

abi

  • Type: abi | Abi.Abi | readonly unknown[]

The ABI to extract from.

name

  • Type: Hex.Hex | (name extends allNames ? name : never)

The name (or selector) of the ABI item to extract.

options

  • Type: fromAbi.Options<abi, name, args>
  • Optional

Extraction options.

options.args

  • Type: allArgs | (Widen & (args extends allArgs ? unknown : never))
  • Optional

options.prepare

  • Type: boolean
  • Optional

Whether or not to prepare the extracted item (optimization for encoding performance). When true, the hash property is computed and included in the returned value.

Return Type

The ABI item.

fromAbi.ReturnType<abi, name, args>