ERC-5554 NFT Legal Use, Repurposing, and Remixing
An interface for describing and enforcing the legal use and remix of an NFT. On-chain registry of rights, attribution and derivative links.
ERC-165 interface ids
Computed here as the XOR of the selectors each interface defines.
| IERC5554 | 0x70d5160c |
Functions this standard introduces (10)
0x32103a40 | getCopyrightOwner(uint256) | |
0xb2295f6e | getDerivativeCollection(uint256) | view |
0x61c58f0f | getDerivativeLicenseId(uint256) | view |
0x71868432 | getDerivativeTokenId(uint256) | view |
0x0c672d99 | getReproductionCollection(uint256) | view |
0x9f0ec2dd | getReproductionLicenseId(uint256) | view |
0xc0efcbf1 | getReproductionTokenId(uint256) | view |
0x350a0714 | logCommercialExploitation(uint256,string) | |
0x30069db5 | logDerivative(uint256,address,uint256) | |
0xb625c60b | logReproduction(uint256,address,uint256) |
Inherited (20)
0x095ea7b3 | approve(address,uint256) | ERC-721 |
0x70a08231 | balanceOf(address) | ERC-721 |
0x4be8f976 | createLicense(uint256,uint256,address,string,address) | ERC-5218 |
0x081812fc | getApproved(uint256) | ERC-721 |
0x8f593d52 | getLicenseHolder(uint256) | ERC-5218 |
0xa9ea6b60 | getLicenseIdByTokenId(uint256) | ERC-5218 |
0xa4d603fe | getLicenseRevoker(uint256) | ERC-5218 |
0x4778ff98 | getLicenseTokenId(uint256) | ERC-5218 |
0x3b21b215 | getLicenseURI(uint256) | ERC-5218 |
0x56227341 | getParentLicenseId(uint256) | ERC-5218 |
0xe985e9c5 | isApprovedForAll(address,address) | ERC-721 |
0xe705c2b8 | isLicenseActive(uint256) | ERC-5218 |
0x6352211e | ownerOf(uint256) | ERC-721 |
0x439d4b5c | revokeLicense(uint256) | ERC-5218 |
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 |
0xeb15473b | transferSublicense(uint256,address) | ERC-5218 |
Events (4)
Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.
0x343d6bb41311dd72849a9a8d192ceead56309794289d760427fcd7e79669039b | CommercialExploitation(uint256,uint256,string) | |
0xcc1c9b8327c9e63759ec3aabb131a14401849b4882e2dfd8d76bcc9e1387f0f8 | ReproductionCreated(uint256,uint256,uint256,address,uint256) | |
0xa47f7bbd8e1bd4299084024c434aa1aea2d443e62c29881b1a14e2b8f377f340 | DerivativeCreated(uint256,uint256,uint256,address,uint256) | |
0xe9ffddadfc041b0a2b23f653048a66f70432f1cc87836ee4bf00a34a0e00741e | CommercialExploitation(uint256,string) |
Depends on (1)
Proposals this one names in its requires field.
What the specification covers
Compare with
Parsed from the canonical specification · discussion