ERC-7891 Splitting and Merging of NFTs
Interface for hierarchical NFTs, enabling splitting a single NFT and merging multiple NFTs
ERC-165 interface ids
Computed here as the XOR of the selectors each interface defines.
| IERC7891 | 0x43cb816b |
Functions this standard introduces (5)
0x42966c68 | burn(uint256) | |
0x35d09c30 | mintMerge(uint256,uint256[]) | payable |
0xf36d273d | mintParent(string) | payable |
0x1ba5857f | mintSplit(uint256,uint8) | payable |
0xdc45d371 | sharePass(uint256,uint256,uint8) |
Inherited (14)
0x095ea7b3 | approve(address,uint256) | ERC-721 |
0x70a08231 | balanceOf(address) | ERC-721 |
0x6f19951c | childrenOf(uint256) | ERC-6150 |
0x081812fc | getApproved(uint256) | ERC-721 |
0xe985e9c5 | isApprovedForAll(address,address) | ERC-721 |
0xcce3c13b | isLeaf(uint256) | ERC-6150 |
0xe527b966 | isRoot(uint256) | ERC-6150 |
0x6352211e | ownerOf(uint256) | ERC-721 |
0xcfa3c132 | parentOf(uint256) | ERC-6150 |
0xb88d4fde | safeTransferFrom(address,address,uint256,bytes) | ERC-721 |
0x42842e0e | safeTransferFrom(address,address,uint256) | ERC-721 |
0xa22cb465 | setApprovalForAll(address,bool) | ERC-721 |
0x01ffc9a7 | supportsInterface(bytes4) | ERC-165 |
0x23b872dd | transferFrom(address,address,uint256) | ERC-721 |
Events (2)
Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.
0xbc1a0c70721fe917933171a656bba0b5cbd7a1e8454dc865ad05317d08742ac3 | Split(uint256,uint256,uint8) | |
0x7d5aea5b1c72048d8c24439566f67ca9c171b3c8c9a37d011e739ec2bd325a30 | Merged(uint256,uint256[]) |
Depends on (2)
Proposals this one names in its requires field.
What the specification covers
Compare with
Parsed from the canonical specification · discussion