ERC-7589 Semi-Fungible Token Roles
Role Management for Semi-Fungible Tokens (SFTs). Enables accounts to share the utility of SFTs via expirable role assignments.
ERC-165 interface ids
Computed here as the XOR of the selectors each interface defines.
| IERC7589 | 0xc4c8a71d |
Functions this standard introduces (13)
0x6df52ea7 | commitTokens(address,address,uint256,uint256) | |
0x4155a2f8 | grantorOf(uint256) | view |
0xb7b637d9 | grantRole(uint256,bytes32,address,uint64,bool,bytes) | |
0xd5ced376 | isRoleApprovedForAll(address,address,address) | view |
0xe6d8e12a | isRoleRevocable(uint256,bytes32,address) | view |
0x4b0babdd | releaseTokens(uint256) | |
0x4a120dd7 | revokeRole(uint256,bytes32,address) | |
0x33a502e4 | roleData(uint256,bytes32,address) | view |
0x5c98ea6d | roleExpirationDate(uint256,bytes32,address) | view |
0xa34adf0a | setRoleApprovalForAll(address,address,bool) | |
0xd989a2b7 | tokenAddressOf(uint256) | view |
0x7e6850eb | tokenAmountOf(uint256) | view |
0x06474d12 | tokenIdOf(uint256) | view |
Inherited (1)
0x01ffc9a7 | supportsInterface(bytes4) | ERC-165 |
Optional extensions (2)
Interfaces the spec defines alongside the core one, which an implementation may or may not carry.
ICommitTokensAndGrantRoleExtension0x5c3d7d74
0x5c3d7d74 | commitTokensAndGrantRole(address,address,uint256,uint256,bytes32,address,uint64,bool,bytes) |
IRoleBalanceOfExtension0x2f35b73f
0x2f35b73f | roleBalanceOf(bytes32,address,uint256,address) |
Events (5)
Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.
0xece8f01d3fa728eea148ec2d550b22e043f03bbbc57cb2198a34e347766627cb | TokensCommitted(address,uint256,address,uint256,uint256) | |
0xbf498a2940b2da48dad7b194ed9b9c5b7a21d34dc7f35fa51ffdc48ff875a2fb | RoleGranted(uint256,bytes32,address,uint64,bool,bytes) | |
0xa936b59ea1bf15cbdbd4cd35c3cb8df32238b5265be331d90506d70b29114f0a | RoleRevoked(uint256,bytes32,address) | |
0xa1598fb976f7dd9df63fd18699c54a5744a6a95364166bbd0d77a2f6c8438b1f | TokensReleased(uint256) | |
0xa9f861543e61f98894ecc9e3edeb6ca82ac424611eb0d8943a84bb89a2eb1d0b | RoleApprovalForAll(address,address,bool) |
Depends on (2)
Proposals this one names in its requires field.
What the specification covers
Compare with
Parsed from the canonical specification · discussion