← All standardsERC-5501 Rental & Delegation NFT - EIP-721 Extension
Adds a conditional time-limited user role to EIP-721. This role can be delegated or borrowed.
Authors: Jan Smrža (@smrza), David Rábel (@rabeles11), Tomáš Janča, Jan Bureš (@JohnyX89), DOBBYLABS (@DOBBYLABS)
ERC-165 interface ids
Computed here as the XOR of the selectors each interface defines.
Functions this standard introduces (4)
0xcbd00851 | setUser(uint256,address,uint64,bool) | |
0x8fc88c48 | userExpires(uint256) | view |
0x7ee19964 | userIsBorrowed(uint256) | view |
0xc2f1f14a | userOf(uint256) | view |
Inherited (10)
0x095ea7b3 | approve(address,uint256) | ERC-721 |
0x70a08231 | balanceOf(address) | ERC-721 |
0x081812fc | getApproved(uint256) | ERC-721 |
0xe985e9c5 | isApprovedForAll(address,address) | ERC-721 |
0x6352211e | ownerOf(uint256) | ERC-721 |
0xb88d4fde | safeTransferFrom(address,address,uint256,bytes) | ERC-721 |
0x42842e0e | safeTransferFrom(address,address,uint256) | ERC-721 |
0xa22cb465 | setApprovalForAll(address,bool) | ERC-721 |
0x01ffc9a7 | supportsInterface(bytes4) | ERC-165 |
0x23b872dd | transferFrom(address,address,uint256) | ERC-721 |
Optional extensions (3)
Interfaces the spec defines alongside the core one, which an implementation may or may not carry.
IERC5501Balance0x0cb22289
0x0cb22289 | userBalanceOf(address) | |
IERC5501Enumerable0x1d350ef8
0x1d350ef8 | tokenOfUserByIndex(address,uint256) | |
IERC5501Terminable0x6a26417e
0xc5b9d060 | setBorrowTermination(uint256) | |
0x267702aa | getBorrowTermination(uint256) | |
0x89e893b4 | terminateBorrow(uint256) | |
Events (4)
Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.
0x71e41666027a2b4557ad6dfdb283b947f4a9acbb2757169345d52ed8fc3a170c | UpdateUser(uint256,address,uint64,bool) | |
0x4bd363ec03602055b4800dc76a2b1928b2569c50fed8fdc000fb48ae63847c8a | AgreeToTerminateBorrow(uint256,address,bool) | |
0x18cc29bf7faabb7cdac8395a8cc7314aed56223fbcc29a21559abb214768da53 | ResetTerminationAgreements(uint256) | |
0xcdb5bd4d8075db7c766290ddbae2d18cb49abc6957393755817bdab38d30d0e7 | TerminateBorrow(uint256,address,address,address) | |
Depends on (4)
Proposals this one names in its requires field.
What the specification covers
Parsed from the canonical specification · discussion