> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://v3.viem.sh/api/mcp` to find what you need.

# AbiError Types

:::info
`AbiError` is a re-export of ox's [`AbiError`](https://oxlib.sh/api/AbiError/types). Refer to the ox documentation for the full reference.
:::

## `AbiError.AbiError`

Root type for an [`AbiItem.AbiItem`](/docs/utilities/abiitem/types#abiitem) with an `error` type.

## `AbiError.ExtractNames`

## `AbiError.FromAbi`

Extracts an [`AbiError.AbiError`](/docs/utilities/abierror/types#abierror) item from an [`Abi.Abi`](/docs/utilities/abi/types#abi), given a name.

### Examples

```ts twoslash
// @noErrors
import { Abi, AbiError } from 'viem/utils'

const abi = Abi.from([
  'error Foo(string)',
  'error Bar(uint256)'
])

type Foo = AbiError.FromAbi<typeof abi, 'Foo'>
//   ^?
```

## `AbiError.Name`

Extracts the names of all [`AbiError.AbiError`](/docs/utilities/abierror/types#abierror) items in an [`Abi.Abi`](/docs/utilities/abi/types#abi).

### Examples

```ts twoslash
// @noErrors
import { Abi, AbiError } from 'viem/utils'

const abi = Abi.from([
  'error Foo(string)',
  'error Bar(uint256)'
])

type names = AbiError.Name<typeof abi>
//   ^?
```
