> ## 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.

# ERC721

> Auto-generated API documentation

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

***

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

# ERC721

## Variables

### EVENTS

> `const` **EVENTS**: `object`

Defined in: [src/standards/ERC721.ts:54](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/standards/ERC721.ts#L54)

ERC-721 event signatures
keccak256 hash of event signature

#### Type Declaration

##### Approval

> `readonly` **Approval**: `"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"` = `"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"`

Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)

##### ApprovalForAll

> `readonly` **ApprovalForAll**: `"0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31"` = `"0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31"`

ApprovalForAll(address indexed owner, address indexed operator, bool approved)

##### Transfer

> `readonly` **Transfer**: `"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"` = `"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"`

Transfer(address indexed from, address indexed to, uint256 indexed tokenId)

***

### SELECTORS

> `const` **SELECTORS**: `object`

Defined in: [src/standards/ERC721.ts:15](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/standards/ERC721.ts#L15)

ERC-721 function selectors
First 4 bytes of keccak256 hash of function signature

#### Type Declaration

##### approve

> `readonly` **approve**: `"0x095ea7b3"` = `"0x095ea7b3"`

approve(address,uint256)

##### balanceOf

> `readonly` **balanceOf**: `"0x70a08231"` = `"0x70a08231"`

balanceOf(address)

##### getApproved

> `readonly` **getApproved**: `"0x081812fc"` = `"0x081812fc"`

getApproved(uint256)

##### isApprovedForAll

> `readonly` **isApprovedForAll**: `"0xe985e9c5"` = `"0xe985e9c5"`

isApprovedForAll(address,address)

##### name

> `readonly` **name**: `"0x06fdde03"` = `"0x06fdde03"`

name()

##### ownerOf

> `readonly` **ownerOf**: `"0x6352211e"` = `"0x6352211e"`

ownerOf(uint256)

##### safeTransferFrom

> `readonly` **safeTransferFrom**: `"0x42842e0e"` = `"0x42842e0e"`

safeTransferFrom(address,address,uint256)

##### safeTransferFromWithData

> `readonly` **safeTransferFromWithData**: `"0xb88d4fde"` = `"0xb88d4fde"`

safeTransferFrom(address,address,uint256,bytes)

##### setApprovalForAll

> `readonly` **setApprovalForAll**: `"0xa22cb465"` = `"0xa22cb465"`

setApprovalForAll(address,bool)

##### symbol

> `readonly` **symbol**: `"0x95d89b41"` = `"0x95d89b41"`

symbol()

##### tokenByIndex

> `readonly` **tokenByIndex**: `"0x4f6ccce7"` = `"0x4f6ccce7"`

tokenByIndex(uint256)

##### tokenOfOwnerByIndex

> `readonly` **tokenOfOwnerByIndex**: `"0x2f745c59"` = `"0x2f745c59"`

tokenOfOwnerByIndex(address,uint256)

##### tokenURI

> `readonly` **tokenURI**: `"0xc87b56dd"` = `"0xc87b56dd"`

tokenURI(uint256)

##### totalSupply

> `readonly` **totalSupply**: `"0x18160ddd"` = `"0x18160ddd"`

totalSupply()

##### transferFrom

> `readonly` **transferFrom**: `"0x23b872dd"` = `"0x23b872dd"`

transferFrom(address,address,uint256)

## Functions

### decodeApprovalEvent()

> **decodeApprovalEvent**(`log`): `object`

Defined in: [src/standards/ERC721.ts:178](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/standards/ERC721.ts#L178)

Decode Approval event log

#### Parameters

##### log

###### data

`string`

###### topics

`string`\[]

#### Returns

`object`

##### approved

> **approved**: `string`

##### owner

> **owner**: `string`

##### tokenId

> **tokenId**: [`Type`](../../primitives/Uint.mdx#type)

***

### decodeApprovalForAllEvent()

> **decodeApprovalForAllEvent**(`log`): `object`

Defined in: [src/standards/ERC721.ts:204](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/standards/ERC721.ts#L204)

Decode ApprovalForAll event log

#### Parameters

##### log

###### data

`string`

###### topics

`string`\[]

#### Returns

`object`

##### approved

> **approved**: `boolean`

##### operator

> **operator**: `string`

##### owner

> **owner**: `string`

***

### decodeTransferEvent()

> **decodeTransferEvent**(`log`): `object`

Defined in: [src/standards/ERC721.ts:152](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/standards/ERC721.ts#L152)

Decode Transfer event log

#### Parameters

##### log

###### data

`string`

###### topics

`string`\[]

#### Returns

`object`

##### from

> **from**: `string`

##### to

> **to**: `string`

##### tokenId

> **tokenId**: [`Type`](../../primitives/Uint.mdx#type)

***

### encodeApprove()

> **encodeApprove**(`to`, `tokenId`): `string`

Defined in: [src/standards/ERC721.ts:107](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/standards/ERC721.ts#L107)

Encode approve(address,uint256) calldata

#### Parameters

##### to

[`AddressType`](../../primitives/Address.mdx#addresstype)

##### tokenId

[`Type`](../../primitives/Uint.mdx#type)

#### Returns

`string`

***

### encodeOwnerOf()

> **encodeOwnerOf**(`tokenId`): `string`

Defined in: [src/standards/ERC721.ts:136](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/standards/ERC721.ts#L136)

Encode ownerOf(uint256) calldata

#### Parameters

##### tokenId

[`Type`](../../primitives/Uint.mdx#type)

#### Returns

`string`

***

### encodeSafeTransferFrom()

> **encodeSafeTransferFrom**(`from`, `to`, `tokenId`): `string`

Defined in: [src/standards/ERC721.ts:88](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/standards/ERC721.ts#L88)

Encode safeTransferFrom(address,address,uint256) calldata

#### Parameters

##### from

[`AddressType`](../../primitives/Address.mdx#addresstype)

##### to

[`AddressType`](../../primitives/Address.mdx#addresstype)

##### tokenId

[`Type`](../../primitives/Uint.mdx#type)

#### Returns

`string`

***

### encodeSetApprovalForAll()

> **encodeSetApprovalForAll**(`operator`, `approved`): `string`

Defined in: [src/standards/ERC721.ts:119](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/standards/ERC721.ts#L119)

Encode setApprovalForAll(address,bool) calldata

#### Parameters

##### operator

[`AddressType`](../../primitives/Address.mdx#addresstype)

##### approved

`boolean`

#### Returns

`string`

***

### encodeTokenURI()

> **encodeTokenURI**(`tokenId`): `string`

Defined in: [src/standards/ERC721.ts:144](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/standards/ERC721.ts#L144)

Encode tokenURI(uint256) calldata

#### Parameters

##### tokenId

[`Type`](../../primitives/Uint.mdx#type)

#### Returns

`string`

***

### encodeTransferFrom()

> **encodeTransferFrom**(`from`, `to`, `tokenId`): `string`

Defined in: [src/standards/ERC721.ts:69](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/standards/ERC721.ts#L69)

Encode transferFrom(address,address,uint256) calldata

#### Parameters

##### from

[`AddressType`](../../primitives/Address.mdx#addresstype)

##### to

[`AddressType`](../../primitives/Address.mdx#addresstype)

##### tokenId

[`Type`](../../primitives/Uint.mdx#type)

#### Returns

`string`
