← All standardsERC-4671 Non-Tradable Tokens Standard
A standard interface for non-tradable tokens, aka badges or souldbound NFTs.
Authors: Omar Aflak (@omaraflak), Pol-Malo Le Bris, Marvin Martin (@MarvinMartin24)
ERC-165 interface ids
Computed here as the XOR of the selectors each interface defines.
Functions this standard introduces (4)
0x70a08231 | balanceOf(address) | view |
0x43945512 | hasValid(address) | view |
0xf577a500 | isValid(uint256) | view |
0x6352211e | ownerOf(uint256) | view |
Inherited (1)
0x01ffc9a7 | supportsInterface(bytes4) | ERC-165 |
Optional extensions (6)
Interfaces the spec defines alongside the core one, which an implementation may or may not carry.
IERC4671Metadata0x5b5e139f
0x06fdde03 | name() | |
0x95d89b41 | symbol() | |
0xc87b56dd | tokenURI(uint256) | |
IERC4671Enumerable0x2d57debd
0x26019c18 | emittedCount() | |
0x6b4ed21b | holdersCount() | |
0x2f745c59 | tokenOfOwnerByIndex(address,uint256) | |
0x4f6ccce7 | tokenByIndex(uint256) | |
IERC4671Delegate0x945d689d
0x8ab65686 | delegate(address,address) | |
0x4214f1f2 | delegateBatch(address[],address[]) | |
0x6a627842 | mint(address) | |
0x927f59ba | mintBatch(address[]) | |
0xa4e2ee11 | issuerOf(uint256) | |
IERC4671Consensus0xe4126b64
0x350580ea | voters() | |
0x0e801ee1 | approveMint(address) | |
0xdf97f56f | approveRevoke(uint256) | |
IERC4671Pull0xd992ad74
0xd992ad74 | pull(uint256,address,bytes) | |
IERC4671Store0xe18e09bd
0x0a3b0a4f | add(address) | |
0x29092d0e | remove(address) | |
0xc2bc2efc | get(address) | |
Events (4)
Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.
0x30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe | Minted(address,uint256) | |
0x713b90881ad62c4fa8ab6bd9197fa86481fc0c11b2edba60026514281b2dbac4 | Revoked(address,uint256) | |
0x938c63ac3d228b23f6bee7618fefc6790522e338ac202c958a2ea9eb9706c5d1 | Added(address,address) | |
0x40e634d0e26d9ec2e860e4dd9b7b2cfbb569b6058362a1a54d3a94718bc49587 | Removed(address,address) | |
Depends on (1)
Proposals this one names in its requires field.
What the specification covers
Parsed from the canonical specification · discussion