Emerging standards and recommendations for approveAndCall, transferAndCall EIP-777 and so on

Hi @miohtama,

The user experience of two transactions is definitely problematic.
There have been discussions in the past on various developing standards for approve and call mechanisms.


I would suggest looking at the OpenZeppelin Contracts implementation of ERC777 (https://docs.openzeppelin.com/contracts/2.x/erc777).

PoolTogether uses ERC777 and you could look at the audit report and PoolTogether’s audit disclosures:


An alternate option could be looking at something like Dai’s permit function.