web3wagmi
← All standards

ERC-5554 NFT Legal Use, Repurposing, and Remixing

StagnantERCcreated 2022-07-07requires ERC-5218

An interface for describing and enforcing the legal use and remix of an NFT. On-chain registry of rights, attribution and derivative links.

Authors: Isaac Patka (@ipatka), COALA Licensing Taskforce

ERC-165 interface ids

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

IERC55540x70d5160c

Functions this standard introduces (10)

0x32103a40getCopyrightOwner(uint256)
0xb2295f6egetDerivativeCollection(uint256)view
0x61c58f0fgetDerivativeLicenseId(uint256)view
0x71868432getDerivativeTokenId(uint256)view
0x0c672d99getReproductionCollection(uint256)view
0x9f0ec2ddgetReproductionLicenseId(uint256)view
0xc0efcbf1getReproductionTokenId(uint256)view
0x350a0714logCommercialExploitation(uint256,string)
0x30069db5logDerivative(uint256,address,uint256)
0xb625c60blogReproduction(uint256,address,uint256)

Inherited (20)

0x095ea7b3approve(address,uint256)ERC-721
0x70a08231balanceOf(address)ERC-721
0x4be8f976createLicense(uint256,uint256,address,string,address)ERC-5218
0x081812fcgetApproved(uint256)ERC-721
0x8f593d52getLicenseHolder(uint256)ERC-5218
0xa9ea6b60getLicenseIdByTokenId(uint256)ERC-5218
0xa4d603fegetLicenseRevoker(uint256)ERC-5218
0x4778ff98getLicenseTokenId(uint256)ERC-5218
0x3b21b215getLicenseURI(uint256)ERC-5218
0x56227341getParentLicenseId(uint256)ERC-5218
0xe985e9c5isApprovedForAll(address,address)ERC-721
0xe705c2b8isLicenseActive(uint256)ERC-5218
0x6352211eownerOf(uint256)ERC-721
0x439d4b5crevokeLicense(uint256)ERC-5218
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
0xeb15473btransferSublicense(uint256,address)ERC-5218

Events (4)

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

0x343d6bb41311dd72849a9a8d192ceead56309794289d760427fcd7e79669039bCommercialExploitation(uint256,uint256,string)
0xcc1c9b8327c9e63759ec3aabb131a14401849b4882e2dfd8d76bcc9e1387f0f8ReproductionCreated(uint256,uint256,uint256,address,uint256)
0xa47f7bbd8e1bd4299084024c434aa1aea2d443e62c29881b1a14e2b8f377f340DerivativeCreated(uint256,uint256,uint256,address,uint256)
0xe9ffddadfc041b0a2b23f653048a66f70432f1cc87836ee4bf00a34a0e00741eCommercialExploitation(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