web3wagmi
← All standards

ERC-7595 Collateralized NFT

DraftERCcreated 2023-03-13requires ERC-20, ERC-721

ERC-721 Extension to enable collateralization with ERC-20 based tokens.

Authors: 571nKY (@571nKY), Cosmos (@Cosmos4k), f4t50 (@f4t50), Harpocrates (@harpocrates555)

ERC-165 interface ids

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

IERC721Envious0x00469a54
IEnviousHouse0xd6b7eaa1

Functions this standard introduces (38)

0x9e90f9aablackHole()view
0xefda37e6blackHole(address)view
0x2239ceb6collateralBalances(address,uint256,address)view
0x9bef3546collateralBalances(uint256,address)view
0x52cc4b4dcollateralize(address,uint256,uint256[],address[])payable
0xf4532e5ccollateralize(uint256,uint256[],address[])payable
0x50ef4a02collateralTokens(address,uint256,uint256)view
0x885c46a8collateralTokens(uint256,uint256)view
0x895587d5collectionIds(address)view
0xfdbda0eccollections(uint256)view
0x14110286commissions(address,uint256)view
0x22b3a7c8commissions(uint256)view
0x1e7b3a3ccommunityBalance(address,address)view
0xd0068b51communityBalance(address)view
0x6f94fa69communityPool(address,uint256)view
0x9b905f5acommunityPool(uint256)view
0x29aa1617communityToken()view
0x3dde3e05communityToken(address)view
0x8c9d7c7adisperse(address,uint256[],address[])payable
0x88158aa9disperse(uint256[],address[])payable
0x3f06068edisperseBalance(address,address)view
0xca5dd0cbdisperseBalance(address)view
0x0ea4d5c6disperseTaken(address,uint256,address)view
0x7ceb5fa5disperseTaken(uint256,address)view
0x8fdc2f76disperseTokens(address,uint256)view
0xe7ab3e0ddisperseTokens(uint256)view
0x775f131adisperseTotalTaken(address,address)view
0x8fc3f561disperseTotalTaken(address)view
0x3db225b8getAmount(address,uint256,address)view
0x42da3b6bgetAmount(uint256,address)view
0x8fabac4fharvest(address,uint256[],address[])
0xf7ef82caharvest(uint256[],address[])
0x1f817a1eregisterCollection(address,address,uint256,uint256)payable
0x554db858setSpecificCollection(address)
0xd794565cspecificCollections(address)view
0x61d9db2dtotalCollections()view
0x3e9b9ccfuncollateralize(address,uint256,uint256[],address[])
0xda472c92uncollateralize(uint256,uint256[],address[])

Inherited (10)

0x095ea7b3approve(address,uint256)ERC-721
0x70a08231balanceOf(address)ERC-721
0x081812fcgetApproved(uint256)ERC-721
0xe985e9c5isApprovedForAll(address,address)ERC-721
0x6352211eownerOf(uint256)ERC-721
0xb88d4fdesafeTransferFrom(address,address,uint256,bytes)ERC-721
0x42842e0esafeTransferFrom(address,address,uint256)ERC-721
0xa22cb465setApprovalForAll(address,bool)ERC-721
0x01ffc9a7supportsInterface(bytes4)ERC-165
0x23b872ddtransferFrom(address,address,uint256)ERC-721

Events (8)

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

0x1cedfb451d4da3a63f72a945ba92f51b8fd558a5be4652404d037bb1578ff582Collateralized(uint256,uint256,address)
0xc5cfd1d8dd2cb97734eb0b41eb809f9de295965c0e72316de4715657466f43faUncollateralized(uint256,uint256,address)
0x9d996ae749d879a4249021ae32eae7603984b6ca0c92d11d3902d378cceb17e4Dispersed(address,uint256)
0x81ca9b2c230070eaa84787556b1aaf18bf1e2f07ea5d3dae4819db77a1a5b224Harvested(address,uint256,uint256)
0x9fdd5a3ace7f6e935b38292d6642e558e123b92a512aca74cebfbf1ed6b06203Collateralized(address,uint256,uint256,address)
0x1ed9f521edb3b9ad6a2a0bb795a6273cd047f877551a94d088690d94e0833f8aUncollateralized(address,uint256,uint256,address)
0x2277a0aba10ed3c0ad4d3636a41f0b585192505cf6fe1584a92a0babcb37f135Dispersed(address,address,uint256)
0xc5ca8fc2af130d27971637eec9f6085b5535bf62d406885bbb132e17b1c9964cHarvested(address,address,uint256,uint256)

Depends on (2)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion