AbiError.fromAbi
Extracts an AbiError.AbiError
from an Abi.Abi
given a name and optional arguments.
Imports
Named
import { AbiError } from 'ox'
Examples
Extracting by Name
ABI Errors can be extracted by their name using the name
option:
import { Abi, AbiError } from 'ox'
const abi = Abi.from([
'function foo()',
'error BadSignatureV(uint8 v)',
'function bar(string a) returns (uint256 x)',
])
const const item: {
readonly name: "BadSignatureV";
readonly type: "error";
readonly inputs: readonly [...];
}item = AbiError.fromAbi(abi, 'BadSignatureV')
Extracting by Selector
ABI Errors can be extract by their selector when Hex.Hex
is provided to name
.
import { Abi, AbiError } from 'ox'
const abi = Abi.from([
'function foo()',
'error BadSignatureV(uint8 v)',
'function bar(string a) returns (uint256 x)',
])
const const item: {
readonly name: "BadSignatureV";
readonly type: "error";
readonly inputs: readonly [...];
} | {
...;
} | {
...;
}item = AbiError.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>>,
): fromAbi.ReturnType<abi, name, args>
Source: src/AbiError.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.
fromAbi.ReturnType<abi, name, args>