ERC-7695 Ownership Delegation and Context for ERC-721
Introduces contexts and ownership delegation for ERC-721 tokens, expanding dApps and financial use cases without transferring ownership
ERC-165 interface ids
Computed here as the XOR of the selectors each interface defines.
| IERC7695 | 0x486b6fba |
Functions this standard introduces (18)
0xe34464d4 | acceptOwnershipDelegation(uint256) | |
0x624fedb2 | attachContext(bytes32,uint256,bytes) | |
0xf6c6bb92 | createContext(address,uint64,bytes) | |
0xf2ddaf3d | execDetachContext(bytes32,uint256,bytes) | |
0x29b2be01 | getContext(bytes32) | view |
0xcb6252c6 | getContextUser(bytes32,uint256) | view |
0xe1458320 | getOwnershipDelegatee(uint256) | view |
0x10bda4ed | getOwnershipManager(uint256) | view |
0xce2dc36b | isAttachedWithContext(bytes32,uint256) | view |
0x4b8532b0 | isTokenContextLocked(bytes32,uint256) | view |
0xaaf70302 | maxDetachingDuration() | view |
0xcad98336 | pendingOwnershipDelegatee(uint256) | view |
0x99d788f0 | requestDetachContext(bytes32,uint256,bytes) | |
0xddc89f4f | setContextLock(bytes32,uint256,bool) | |
0x68afc92d | setContextUser(bytes32,uint256,address) | |
0x50814c2d | startDelegateOwnership(uint256,address,uint64) | |
0x993c5874 | stopOwnershipDelegation(uint256) | |
0xded8825d | updateContext(bytes32,address,uint64) |
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 (1)
Interfaces the spec defines alongside the core one, which an implementation may or may not carry.
IERC7695Enumerable0xcebf44b7
0xe68defac | getContext(uint256) | |
0x7ddedf1d | getContextCount() | |
0x3d18d645 | getAttachedContext(uint256,uint256) | |
0x68f4a243 | getAttachedContextCount(uint256) |
Events (9)
Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.
0xd646610e00048edcd547e643a376e2ae2b8dcecb8c534703718c9a7e7c9bc02c | ContextUpdated(bytes32,address,uint64) | |
0xa6e9e35c8a5f310b19b5699a7563ef66fade71f347ebefaf96e51dea3241d96f | ContextAttached(bytes32,uint256) | |
0x553d41eb4b32b2becd9ce2ff4fbd83598108811d23f67d39cc7f809e1f7a5d5b | ContextDetachmentRequested(bytes32,uint256) | |
0x94e01d8372cb1de282815157551f36cbba527f4dbecc3cbd524d38c147feca85 | ContextDetached(bytes32,uint256) | |
0xc6bb28e6096807c3e639ecc36a99861b1ff0bf80ed6ba4fad23333cf9e182efc | ContextUserAssigned(bytes32,uint256,address) | |
0xa95021cc113e3bf56d07571579887f9542166f81e995fbde08395a89726fcb29 | ContextLockUpdated(bytes32,uint256,bool) | |
0xd53478650f5188c1beb4a4897d233f3c9c636f600630c72266bdb216474fa752 | OwnershipDelegationStarted(uint256,address,uint64) | |
0x54b44a462e87fa8234e977fa235b3407f1434f69b1d378032ba06a103835bfd9 | OwnershipDelegationAccepted(uint256,address,uint64) | |
0x93f65897a88aa3c0b9b5d4db049fe366ce98e99591bc37e151bbd3d6a0814b02 | OwnershipDelegationStopped(uint256,address) |
Depends on (2)
Proposals this one names in its requires field.
What the specification covers
Compare with
Parsed from the canonical specification · discussion