AbiEvent.fromAbi
Extracts an AbiEvent.AbiEvent
from an Abi.Abi
given a name and optional arguments.
Imports
Named
import { AbiEvent } from 'ox'
Examples
Extracting by Name
ABI Events can be extracted by their name using the name
option:
import { Abi, AbiEvent } 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 = AbiEvent.fromAbi(abi, 'Transfer')
Extracting by Selector
ABI Events can be extract by their selector when Hex.Hex
is provided to name
.
import { Abi, AbiEvent } 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 = AbiEvent.fromAbi(abi, '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef')
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, AbiEvent>
Source: src/AbiEvent.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, AbiEvent>