Hello, new to OpenZeppelin and to Solidity and smart contracts in general, but I’ve been a developer for over 25 years, so I know my way around.
I have been working on a project that was largely implemented and was just about fully functional. My build was based around an ERC20 token, but I learned that the ERC777 spec addressed some of the issues that made my ERC20 implementation clunky. I’ve updated the project to use the ERC777 spec and things are still working fine, but I did notice that when using the token’s send() function, MetaMask doesn’t pick up on the fact that I’m sending tokens out of the wallet.
The UI on the left uses send() and the right uses transfer()
Obviously the transfer() approach is more informative to the user, but which is more appropriate for an ERC777 token, especially a token that is being sent to ERC777 compatible contracts?