web3wagmi
← All standards

ERC-6150 Hierarchical NFTs

FinalERCcreated 2022-12-151 later proposal build on itrequires ERC-165, ERC-721

Hierarchical NFTs, an extension to EIP-721.

Authors: Keegan Lee (@keeganlee), msfew, Kartin, qizhou (@qizhou)

ERC-165 interface ids

Computed here as the XOR of the selectors each interface defines.

IERC61500x897e2c73

Functions this standard introduces (4)

0x6f19951cchildrenOf(uint256)view
0xcce3c13bisLeaf(uint256)view
0xe527b966isRoot(uint256)view
0xcfa3c132parentOf(uint256)view

Inherited (10)

0x095ea7b3approve(address,uint256)ERC-721
0x70a08231balanceOf(address)ERC-721
0x081812fcgetApproved(uint256)ERC-721
0xe985e9c5isApprovedForAll(address,address)ERC-721
0x6352211eownerOf(uint256)ERC-721
0xb88d4fdesafeTransferFrom(address,address,uint256,bytes)ERC-721
0x42842e0esafeTransferFrom(address,address,uint256)ERC-721
0xa22cb465setApprovalForAll(address,bool)ERC-721
0x01ffc9a7supportsInterface(bytes4)ERC-165
0x23b872ddtransferFrom(address,address,uint256)ERC-721

Optional extensions (4)

Interfaces the spec defines alongside the core one, which an implementation may or may not carry.

IERC6150Enumerable0xba541a2e

0x95efff06childrenCountOf(uint256)
0x401b582bchildOfParentByIndex(uint256,uint256)
0x6fa0bd03indexInChildrenEnumeration(uint256,uint256)

IERC6150Burnable0x4ac0aa46

0xdbf51325safeBurn(uint256)
0x9135b963safeBatchBurn(uint256[])

IERC6150ParentTransferable0xfa574808

0x6fa02141transferParent(uint256,uint256)
0x95f76949batchTransferParent(uint256,uint256[])

IERC6150AccessControl0x1d04f0b3

0xbdbae191isAdminOf(uint256,address)
0x5f57bbedcanMintChildren(uint256,address)
0xffe9aacfcanBurnTokenByAccount(uint256,address)

Events (2)

Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.

0x03f17d66ad3bf18e9412eb06582908831508cdb9b8da9cddb1431f645a5b8632Minted(address,address,uint256,uint256)
0xcad8ef6f9df0bfc8a492e5b663b015f039dfa3ba0a76345421197b8f2f43b561ParentTransferred(uint256,uint256,uint256)

Depends on (2)

Proposals this one names in its requires field.

Built on by (1)

Later proposals that name this one in their requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion