EIP-3525: The Semi-fungible Token

Thanks for that.

We define a new ERC3525TokenReceiver only for those wallets as well as contracts that already specially support for EIP-3525, so that for these wallets they can call this special function when they transfer values rathe than ID to a contract.

If the destination contract does not support EIP-3525, a wallet can simply call ERC-721’s “Safe Transfer” to transfer a whole ID to that contract, and the contract just receives a ERC-721 token.

Hope this explains the design purpose of ERC3525TokenReceiver.