ERC-6220 Composable NFTs utilizing Equippable Parts
An interface for Composable non-fungible tokens through fixed and slot parts equipping.
ERC-165 interface ids
Computed here as the XOR of the selectors each interface defines.
| IERC6220 | 0x28bc9ae4 |
Functions this standard introduces (6)
0x074334fb | canTokenBeEquippedWithAssetIntoSlot(address,uint256,uint64,uint64) | view |
0x38dcf74c | equip((uint256,uint256,uint64,uint64,uint64)) | |
0x4e60edba | getAssetAndEquippableData(uint256,uint64) | view |
0x7507e2ae | getEquipment(uint256,address,uint64) | view |
0xee1dffcf | isChildEquipped(uint256,address,uint256) | view |
0xc259a988 | unequip(uint256,uint64,uint64) |
Inherited (14)
0xfc3517c8 | acceptAsset(uint256,uint256,uint64) | ERC-5773 |
0x5ea72f36 | approveForAssets(address,uint256) | ERC-5773 |
0x5e94354a | getActiveAssetPriorities(uint256) | ERC-5773 |
0x7280281e | getActiveAssets(uint256) | ERC-5773 |
0xe467a48f | getApprovedForAssets(uint256) | ERC-5773 |
0x5e2e3292 | getAssetMetadata(uint256,uint64) | ERC-5773 |
0xdf6f556b | getAssetReplacements(uint256,uint64) | ERC-5773 |
0x51532e5a | getPendingAssets(uint256) | ERC-5773 |
0x22e6d160 | isApprovedForAllForAssets(address,address) | ERC-5773 |
0xe7de4de4 | rejectAllAssets(uint256,uint256) | ERC-5773 |
0x22f6da9c | rejectAsset(uint256,uint256,uint64) | ERC-5773 |
0x8507dc28 | setApprovalForAllForAssets(address,bool) | ERC-5773 |
0xde8e602c | setPriority(uint256,uint64[]) | ERC-5773 |
0x01ffc9a7 | supportsInterface(bytes4) | ERC-165 |
Optional extensions (1)
Interfaces the spec defines alongside the core one, which an implementation may or may not carry.
ICatalog0xd912401f
0x86a92af7 | getMetadataURI() | |
0x15dae03e | getType() | |
0xdcb79d56 | checkIsEquippable(uint64,address) | |
0xdc477d2f | checkIsEquippableToAll(uint64) | |
0xd297ac43 | getPart(uint64) | |
0x9806c6ec | getParts(uint64[]) |
Events (7)
Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.
0x1f5de02b1d9c93ca468f54630e1daf13f6dc458a63f8061ff73e85bf9bc38884 | ChildAssetEquipped(uint256,uint64,uint64,uint256,address,uint64) | |
0x438e039ebbba8f290f3b5d41aaf3295eccc9b5e6b0e1d52ace700772afb7da13 | ChildAssetUnequipped(uint256,uint64,uint64,uint256,address,uint64) | |
0x5b5af0622001a9b735a56357ddc1abd65e6a640126498674daf9d2fb05160725 | ValidParentEquippableGroupIdSet(uint64,uint64,address) | |
0xc4715b52aed3b9dfb2fbdc63e39e234892ec1dd3811d2c671646dbfd3d32d92e | AddedPart(uint64,uint8,uint8,address[],string) | |
0x379edf7304a765a58c7eba1fef9bc8675355bf31e276de44d60da39bb04c76ba | AddedEquippables(uint64,address[]) | |
0x507a75726ac34d3eb68ebf61f034616ee2030c6193bd4a9efb7e131de6c6adcc | SetEquippables(uint64,address[]) | |
0x540b0b22993accb6c2b7b0f4a5bd1b7e6419708ef2a68c39f09f01c848ba4fbc | SetEquippableToAll(uint64) |
Depends on (4)
Proposals this one names in its requires field.
What the specification covers
Compare with
Parsed from the canonical specification · discussion