web3wagmi
← All standards

ERC-7590 ERC-20 Holder Extension for NFTs

ReviewERCcreated 2024-01-05requires ERC-20, ERC-165, ERC-721

Extension to allow NFTs to receive and transfer ERC-20 tokens.

Authors: Steven Pineda (@steven2308), Jan Turk (@ThunderDeliverer)

ERC-165 interface ids

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

IERC75900x6f87c75c

Functions this standard introduces (4)

0x866ef715balanceOfERC20(address,uint256)view
0xa869de0aerc20TransferOutNonce(uint256)view
0xf43f7bbatransferERC20ToToken(address,uint256,uint256,bytes)
0xb5bf95f9transferHeldERC20FromToken(address,uint256,address,uint256,bytes)

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 (2)

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

0x684ce28ace37552c6bfb98b7cceda8ed55327078eafb5dfb31218e0856382763ReceivedERC20(address,uint256,address,uint256)
0xf08722dda679d80a9dd519f28c27aeaa8d437512336f6fa9aea15e4e1f956908TransferredERC20(address,uint256,address,uint256)

Depends on (3)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion