Skip to content

AbiFunction.fromAbi

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

Imports

Named
import { AbiFunction } from 'ox'

Examples

Extracting by Name

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

import { Abi, AbiFunction } 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 []; }
item
= AbiFunction.fromAbi(abi, 'foo')

Extracting by Selector

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

import { Abi, AbiFunction } 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 []; } | { ...; }
item
= AbiFunction.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?: AbiItem.fromAbi.Options<abi, name, args, AbiItem.internal.ExtractArgs<abi, name>>,
): AbiItem.fromAbi.ReturnType<abi, name, args, AbiFunction>

Source: src/AbiFunction.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: AbiItem.fromAbi.Options<abi, name, args, AbiItem.internal.ExtractArgs<abi, name>>
  • 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.

AbiItem.fromAbi.ReturnType<abi, name, args, AbiFunction>