Token IDs

Because PURSE has been upgraded from an ERC20 to a 404 token, token transfers must now take into account what constitutes an ERC20 transfer or an ERC721 transfer when transferFrom is executed. Both ERC20 and ERC721 tokens have a transferFrom function which yields the same signature hash:

keccak256("transferFrom(address,address,uint256)")
Type: bytes32
└ Data: 0x23b872dd7302113369cda2901243429419bec145408fa8b352b3dd92b66c680b

This means that on the level of the EVM, when PURSE is being transferred, calls to transferFrom will produce the same function selector of 0x23b872dd regardless of whether they are intended for an ERC20 or ERC721 transfer.

Note that even though transferFrom is used here, it is always recommended to use safeTransferFrom when transferring as ERC721 to mitigate any possibility of permanently locking the NFT in an unintended address. For more information on this, please refer to EIP721.

And this means that the very first PURSE NFT token id is: 57896044618658097711785492504343953926634992332820282019728792003956564819969

Last updated