> ## Documentation Index
> Fetch the complete documentation index at: https://voltaire.tevm.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Item

> Auto-generated API documentation

[**@tevm/voltaire**](../../../index.mdx)

***

[@tevm/voltaire](../../../index.mdx) / [primitives/Abi](../index.mdx) / Item

# Item

## Interfaces

### ItemConstructor

Defined in: [src/primitives/Abi/Item/ItemConstructor.ts:10](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemConstructor.ts#L10)

Item constructor interface - provides type guards and utilities for ABI items

#### Methods

##### format()

> **format**(`item`): `string`

Defined in: [src/primitives/Abi/Item/ItemConstructor.ts:44](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemConstructor.ts#L44)

Format an ABI item to a human-readable string

###### Parameters

###### item

[`ItemType`](#itemtype)

###### Returns

`string`

##### formatWithArgs()

> **formatWithArgs**(`item`, `args`): `string`

Defined in: [src/primitives/Abi/Item/ItemConstructor.ts:49](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemConstructor.ts#L49)

Format an ABI item with concrete argument values

###### Parameters

###### item

[`ItemType`](#itemtype)

###### args

readonly `unknown`\[]

###### Returns

`string`

##### getItem()

> **getItem**\<`TAbi`, `TName`, `TType`>(`abi`, `name`, `type?`): `Extract`\<`TAbi`\[`number`], \{ `name`: `TName`; }> | `undefined`

Defined in: [src/primitives/Abi/Item/ItemConstructor.ts:54](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemConstructor.ts#L54)

Get an item from an ABI by name and optionally by type

###### Type Parameters

###### TAbi

`TAbi` *extends* readonly [`ItemType`](#itemtype)\[]

###### TName

`TName` *extends* `string`

###### TType

`TType` *extends* `"function"` | `"event"` | `"constructor"` | `"error"` | `"fallback"` | `"receive"` | `undefined` = `undefined`

###### Parameters

###### abi

`TAbi`

###### name

`TName`

###### type?

`TType`

###### Returns

`Extract`\<`TAbi`\[`number`], \{ `name`: `TName`; }> | `undefined`

##### isConstructor()

> **isConstructor**(`item`): `item is ConstructorType`

Defined in: [src/primitives/Abi/Item/ItemConstructor.ts:29](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemConstructor.ts#L29)

Type guard to check if an item is a Constructor

###### Parameters

###### item

[`ItemType`](#itemtype)

###### Returns

`item is ConstructorType`

##### isError()

> **isError**(`item`): `item is ErrorType`

Defined in: [src/primitives/Abi/Item/ItemConstructor.ts:24](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemConstructor.ts#L24)

Type guard to check if an item is an Error

###### Parameters

###### item

[`ItemType`](#itemtype)

###### Returns

`item is ErrorType`

##### isEvent()

> **isEvent**(`item`): `item is EventType`

Defined in: [src/primitives/Abi/Item/ItemConstructor.ts:19](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemConstructor.ts#L19)

Type guard to check if an item is an Event

###### Parameters

###### item

[`ItemType`](#itemtype)

###### Returns

`item is EventType`

##### isFallback()

> **isFallback**(`item`): `item is Fallback`

Defined in: [src/primitives/Abi/Item/ItemConstructor.ts:34](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemConstructor.ts#L34)

Type guard to check if an item is a Fallback

###### Parameters

###### item

[`ItemType`](#itemtype)

###### Returns

`item is Fallback`

##### isFunction()

> **isFunction**(`item`): `item is FunctionType`

Defined in: [src/primitives/Abi/Item/ItemConstructor.ts:14](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemConstructor.ts#L14)

Type guard to check if an item is a Function

###### Parameters

###### item

[`ItemType`](#itemtype)

###### Returns

`item is FunctionType`

##### isReceive()

> **isReceive**(`item`): `item is Receive`

Defined in: [src/primitives/Abi/Item/ItemConstructor.ts:39](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemConstructor.ts#L39)

Type guard to check if an item is a Receive

###### Parameters

###### item

[`ItemType`](#itemtype)

###### Returns

`item is Receive`

## Type Aliases

### Fallback

> **Fallback**\<`TStateMutability`> = `object`

Defined in: [src/primitives/Abi/Item/ItemType.ts:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemType.ts#L7)

#### Type Parameters

##### TStateMutability

`TStateMutability` *extends* [`StateMutability`](Function.mdx#statemutability-1) = [`StateMutability`](Function.mdx#statemutability-1)

#### Properties

##### stateMutability

> **stateMutability**: `TStateMutability`

Defined in: [src/primitives/Abi/Item/ItemType.ts:11](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemType.ts#L11)

##### type

> **type**: `"fallback"`

Defined in: [src/primitives/Abi/Item/ItemType.ts:10](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemType.ts#L10)

***

### ItemType

> **ItemType** = [`FunctionType`](Function.mdx#functiontype) | [`EventType`](Event.mdx#eventtype) | [`ErrorType`](Error.mdx#errortype) | [`ConstructorType`](Constructor.mdx#constructortype) | [`Fallback`](#fallback) | [`Receive`](#receive)

Defined in: [src/primitives/Abi/Item/ItemType.ts:22](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemType.ts#L22)

ItemType - discriminated union of all ABI item types

***

### Receive

> **Receive** = `object`

Defined in: [src/primitives/Abi/Item/ItemType.ts:14](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemType.ts#L14)

#### Properties

##### stateMutability

> **stateMutability**: `"payable"`

Defined in: [src/primitives/Abi/Item/ItemType.ts:16](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemType.ts#L16)

##### type

> **type**: `"receive"`

Defined in: [src/primitives/Abi/Item/ItemType.ts:15](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/ItemType.ts#L15)

## Variables

### Item

> `const` **Item**: [`ItemConstructor`](#itemconstructor)

Defined in: [src/primitives/Abi/Item/Item.js:28](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/Item.js#L28)

Item "class" - a namespace object for ABI item operations

## Functions

### \_format()

> **\_format**(`item`): `string`

Defined in: [src/primitives/Abi/Item/format.js:6](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/format.js#L6)

Format an ABI item to a human-readable string

#### Parameters

##### item

[`ItemType`](#itemtype)

The item to format

#### Returns

`string`

***

### \_formatWithArgs()

> **\_formatWithArgs**(`item`, `args`): `string`

Defined in: [src/primitives/Abi/Item/formatWithArgs.js:9](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/formatWithArgs.js#L9)

Format an ABI item with concrete argument values

#### Parameters

##### item

[`ItemType`](#itemtype)

The item to format

##### args

readonly `unknown`\[]

The argument values

#### Returns

`string`

***

### \_getItem()

> **\_getItem**\<`TAbi`, `TName`, `TType`>(`abi`, `name`, `type?`): `any`

Defined in: [src/primitives/Abi/Item/getItem.js:11](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/getItem.js#L11)

Get an item from an ABI by name and optionally by type

#### Type Parameters

##### TAbi

`TAbi` *extends* readonly [`ItemType`](#itemtype)\[]

##### TName

`TName` *extends* `string`

##### TType

`TType` *extends* `"function"` | `"event"` | `"constructor"` | `"error"` | `"fallback"` | `"receive"` | `undefined`

#### Parameters

##### abi

`TAbi`

The ABI array

##### name

`TName`

The item name

##### type?

`TType`

Optional type filter

#### Returns

`any`

***

### \_isConstructor()

> **\_isConstructor**(`item`): `item is ConstructorType<StateMutability, readonly Parameter[]>`

Defined in: [src/primitives/Abi/Item/isConstructor.js:6](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/isConstructor.js#L6)

Type guard to check if an item is a Constructor

#### Parameters

##### item

[`ItemType`](#itemtype)

The item to check

#### Returns

`item is ConstructorType<StateMutability, readonly Parameter[]>`

***

### \_isError()

> **\_isError**(`item`): `item is ErrorType<string, readonly ParameterType[]>`

Defined in: [src/primitives/Abi/Item/isError.js:6](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/isError.js#L6)

Type guard to check if an item is an Error

#### Parameters

##### item

[`ItemType`](#itemtype)

The item to check

#### Returns

`item is ErrorType<string, readonly ParameterType[]>`

***

### \_isEvent()

> **\_isEvent**(`item`): `item is EventType<string, readonly Parameter[]>`

Defined in: [src/primitives/Abi/Item/isEvent.js:6](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/isEvent.js#L6)

Type guard to check if an item is an Event

#### Parameters

##### item

[`ItemType`](#itemtype)

The item to check

#### Returns

`item is EventType<string, readonly Parameter[]>`

***

### \_isFallback()

> **\_isFallback**(`item`): `item is Fallback<StateMutability>`

Defined in: [src/primitives/Abi/Item/isFallback.js:6](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/isFallback.js#L6)

Type guard to check if an item is a Fallback

#### Parameters

##### item

[`ItemType`](#itemtype)

The item to check

#### Returns

`item is Fallback<StateMutability>`

***

### \_isFunction()

> **\_isFunction**(`item`): `item is FunctionType<string, StateMutability, readonly Parameter[], readonly Parameter[]>`

Defined in: [src/primitives/Abi/Item/isFunction.js:6](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/isFunction.js#L6)

Type guard to check if an item is a Function

#### Parameters

##### item

[`ItemType`](#itemtype)

The item to check

#### Returns

`item is FunctionType<string, StateMutability, readonly Parameter[], readonly Parameter[]>`

***

### \_isReceive()

> **\_isReceive**(`item`): `item is Receive`

Defined in: [src/primitives/Abi/Item/isReceive.js:6](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Abi/Item/isReceive.js#L6)

Type guard to check if an item is a Receive

#### Parameters

##### item

[`ItemType`](#itemtype)

The item to check

#### Returns

`item is Receive`

## References

### BrandedItem

Renames and re-exports [ItemType](#itemtype)

***

### format

Renames and re-exports [\_format](#_format)

***

### formatWithArgs

Renames and re-exports [\_formatWithArgs](#_formatwithargs)

***

### getItem

Renames and re-exports [\_getItem](#_getitem)

***

### isConstructor

Renames and re-exports [\_isConstructor](#_isconstructor)

***

### isError

Renames and re-exports [\_isError](#_iserror)

***

### isEvent

Renames and re-exports [\_isEvent](#_isevent)

***

### isFallback

Renames and re-exports [\_isFallback](#_isfallback)

***

### isFunction

Renames and re-exports [\_isFunction](#_isfunction)

***

### isReceive

Renames and re-exports [\_isReceive](#_isreceive)
