web3wagmi
← All standards

ERC-7589 Semi-Fungible Token Roles

DraftERCcreated 2023-12-28requires ERC-165, ERC-1155

Role Management for Semi-Fungible Tokens (SFTs). Enables accounts to share the utility of SFTs via expirable role assignments.

Authors: Ernani São Thiago (@ernanirst), Daniel Lima (@karacurt)

ERC-165 interface ids

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

IERC75890xc4c8a71d

Functions this standard introduces (13)

0x6df52ea7commitTokens(address,address,uint256,uint256)
0x4155a2f8grantorOf(uint256)view
0xb7b637d9grantRole(uint256,bytes32,address,uint64,bool,bytes)
0xd5ced376isRoleApprovedForAll(address,address,address)view
0xe6d8e12aisRoleRevocable(uint256,bytes32,address)view
0x4b0babddreleaseTokens(uint256)
0x4a120dd7revokeRole(uint256,bytes32,address)
0x33a502e4roleData(uint256,bytes32,address)view
0x5c98ea6droleExpirationDate(uint256,bytes32,address)view
0xa34adf0asetRoleApprovalForAll(address,address,bool)
0xd989a2b7tokenAddressOf(uint256)view
0x7e6850ebtokenAmountOf(uint256)view
0x06474d12tokenIdOf(uint256)view

Inherited (1)

0x01ffc9a7supportsInterface(bytes4)ERC-165

Optional extensions (2)

Interfaces the spec defines alongside the core one, which an implementation may or may not carry.

ICommitTokensAndGrantRoleExtension0x5c3d7d74

0x5c3d7d74commitTokensAndGrantRole(address,address,uint256,uint256,bytes32,address,uint64,bool,bytes)

IRoleBalanceOfExtension0x2f35b73f

0x2f35b73froleBalanceOf(bytes32,address,uint256,address)

Events (5)

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

0xece8f01d3fa728eea148ec2d550b22e043f03bbbc57cb2198a34e347766627cbTokensCommitted(address,uint256,address,uint256,uint256)
0xbf498a2940b2da48dad7b194ed9b9c5b7a21d34dc7f35fa51ffdc48ff875a2fbRoleGranted(uint256,bytes32,address,uint64,bool,bytes)
0xa936b59ea1bf15cbdbd4cd35c3cb8df32238b5265be331d90506d70b29114f0aRoleRevoked(uint256,bytes32,address)
0xa1598fb976f7dd9df63fd18699c54a5744a6a95364166bbd0d77a2f6c8438b1fTokensReleased(uint256)
0xa9f861543e61f98894ecc9e3edeb6ca82ac424611eb0d8943a84bb89a2eb1d0bRoleApprovalForAll(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