web3wagmi
← All standards

ERC-7629 ERC-20/ERC-721 Unified Token Interface

DraftERCcreated 2024-02-18requires ERC-20, ERC-165, ERC-721

introduces a single interface for ERC-20/ERC-721 tokens, enabling seamless interaction by defining common functions for both token types.

Authors: 0xZeus1111 (@0xZeus1111), Nvuwa (@Nvuwa)

ERC-165 interface ids

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

IERC76290x0802664a

Functions this standard introduces (24)

0xdd62ed3eallowance(address,address)view
0x095ea7b3approve(address,uint256)
0x70a08231balanceOf(address)view
0x313ce567decimals()view
0x02519da3erc20BalanceOf(address)view
0x046eb216erc20ToERC721(uint256)
0x89fb4c66erc20TotalSupply()view
0xb3f9ea34erc721BalanceOf(address)view
0x23d113d0erc721ToERC20(uint256)
0xc5ab3ba6erc721TotalSupply()view
0x081812fcgetApproved(uint256)view
0xe55186a1getUnit()view
0xe985e9c5isApprovedForAll(address,address)view
0x06fdde03name()view
0xb1ab9317owned(address)view
0x6352211eownerOf(uint256)view
0xb88d4fdesafeTransferFrom(address,address,uint256,bytes)payable
0x42842e0esafeTransferFrom(address,address,uint256)payable
0xa22cb465setApprovalForAll(address,bool)
0x95d89b41symbol()view
0xc87b56ddtokenURI(uint256)view
0x18160dddtotalSupply()view
0xa9059cbbtransfer(address,uint256)
0x23b872ddtransferFrom(address,address,uint256)

Inherited (1)

0x01ffc9a7supportsInterface(bytes4)ERC-165

Events (8)

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

0xe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487ERC20Transfer(address,address,uint256)
0xe5f815dc84b8cecdfd4beedfc3f91ab5be7af100eca4e8fb11552b867995394fERC721Transfer(address,address,uint256)
0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efTransfer(address,address,uint256)
0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925Approval(address,address,uint256)
0x1f01303a1ce9329d9963e1937c201e23c5543a9e3536e9edead087aec7dc6d83ERC20Approval(address,address,uint256)
0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31ApprovalForAll(address,address,bool)
0x0ae58cc52ac59ddf4a1d8cf582cee40a4a55aefd3be491ae927ecfe5966402b4ERC20ToERC721(address,uint256,uint256)
0x8e95939ce4c81dc5bea9acbc89d5f9d42c9574efad4c1d4cce8c3eb942cb2b78ERC20ToERC721(address,uint256,uint256[])

Depends on (3)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion