web3wagmi
← All standards

ERC-7496 NFT Dynamic Traits

DraftERCcreated 2023-07-28requires ERC-165, ERC-721, ERC-1155

Extension to ERC-721 and ERC-1155 for dynamic onchain traits

Authors: Adam Montgomery (@montasaurus), Ryan Ghods (@ryanio), 0age (@0age), James Wenzel (@emo-eth), Stephan Min (@stephankmin)

ERC-165 interface ids

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

IERC74960xaf332f3e

Functions this standard introduces (4)

0xde475bf9getTraitMetadataURI()view
0xa28eec87getTraitValue(uint256,bytes32)view
0xf80ecba3getTraitValues(uint256,bytes32[])view
0x2bf453e3setTrait(uint256,bytes32,bytes32)

Events (6)

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

0x8386f3b08e49490d0c5a9d2c401c091f13b01a17d75ce4a2f0f8f923b410ff7dTraitUpdated(bytes32,uint256,bytes32)
0x9a6c97c48b507ce8a38891ab26b440119b2f725c688fec730db4699bba6b24a7TraitUpdatedRange(bytes32,uint256,uint256)
0xa96ef7c0130afeab54b0046e6e2d01169250d194c74036ac03d0e58ac32422bfTraitUpdatedRangeUniformValue(bytes32,uint256,uint256,bytes32)
0xa871bf661500ebea566fc58dd77242d75a9a3f659e5cb12e3bae0a05110561a1TraitUpdatedList(bytes32,uint256[])
0x77679e37d5806f0b2f7f023c0b6124bd74d7abb9154942ee1303c8700b31bda7TraitUpdatedListUniformValue(bytes32,uint256[],bytes32)
0x0c42722a91eb9b96ce65a38fc22054e4d2ab7ab642a9c0f92da35c99d965a748TraitMetadataURIUpdated()

Custom errors (2)

0xa0614c41TraitDoesNotExist(bytes32)
0xc927e5bfTokenDoesNotExist(uint256)

Depends on (3)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion