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/core/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>