web3wagmi
← All standards

ERC-5507 Refundable Tokens

FinalERCcreated 2022-08-19requires ERC-20, ERC-165, ERC-721, ERC-1155

Adds refund functionality to ERC-20, ERC-721, and ERC-1155 tokens

Authors: elie222 (@elie222), Gavin John (@Pandapip1)

ERC-165 interface ids

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

ERC20Refund0x4d1444d1
ERC721Refund0x54a15145
ERC1155Refund0xebd3ba73

Functions this standard introduces (8)

0x5af36e3erefund(uint256,uint256)
0x278ecde1refund(uint256)
0x8c7443d9refundDeadlineOf()view
0x4f556016refundDeadlineOf(uint256)view
0x7fd1252frefundFrom(address,uint256,uint256)
0xbdde6dc6refundFrom(address,uint256)
0x5b30a72frefundOf()view
0x81a49174refundOf(uint256)view

Inherited (20)

0xdd62ed3eallowance(address,address)ERC-20
0x095ea7b3approve(address,uint256)ERC-20
0x00fdd58ebalanceOf(address,uint256)ERC-1155
0x70a08231balanceOf(address)ERC-20
0x4e1273f4balanceOfBatch(address[],uint256[])ERC-1155
0x313ce567decimals()ERC-20
0x081812fcgetApproved(uint256)ERC-721
0xe985e9c5isApprovedForAll(address,address)ERC-721
0x06fdde03name()ERC-20
0x6352211eownerOf(uint256)ERC-721
0x2eb2c2d6safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)ERC-1155
0xb88d4fdesafeTransferFrom(address,address,uint256,bytes)ERC-721
0xf242432asafeTransferFrom(address,address,uint256,uint256,bytes)ERC-1155
0x42842e0esafeTransferFrom(address,address,uint256)ERC-721
0xa22cb465setApprovalForAll(address,bool)ERC-721
0x01ffc9a7supportsInterface(bytes4)ERC-165
0x95d89b41symbol()ERC-20
0x18160dddtotalSupply()ERC-20
0xa9059cbbtransfer(address,uint256)ERC-20
0x23b872ddtransferFrom(address,address,uint256)ERC-20

Events (7)

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

0xbb28353e4598c3b9199101a66e0989549b659a59a54d2c27fbb183f1932c8e6dRefund(address,uint256)
0x89d85f56e3b62f6b4f2e6d123c8029a54435d6a834f262d8a2fa4aa22298b7eeRefundFrom(address,address,uint256)
0xe4d61d97a0e512021bd12d507883ffde4735c5fe9940e5bd0d33669cb456bc7bRefundBatch(address,uint256[])
0xacecedf0f7bd558fda7910e9761b087bf7a2babc8c4ee7e3d855be4369d1c65bRefundFromBatch(address,address,uint256)
0x73f04af9dcc582a923ec15d3eea990fe34adabfff2879e28d44572e01a54abb6Refund(address,uint256,uint256)
0xe4874169faee3a7c1957cb54fc737c0e8c594f755407059b0b24acc84fb31dbeRefundBatch(address,uint256[],uint256[])
0xa2587d560f9237e53ce537218b199ae1849a580a55d90113f523debc29cdc07aRefundFromBatch(address,address,uint256[],uint256[])

Depends on (4)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion