Is there already emerging standard or personal recommendations for approveAndCall so that DeFi interaction with tokens can be done with a single tx? What is Zeppelin guidance and recommendations on these?
Currently most legacy tokens need separate approve() and perform() transactions. This is a UX burden for users and great cause of confusion. I wish this could be combined to a single tx.
And then, my natural next question is that are there any well known examples of OpenZeppelin based deployments of these contracts?
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 decided to go with ERC-777 after all the bad rap it received over the last weekend.
My arguments why ERC-777 and not permit() can be read here:
It is a good Twitter thread.
Of course ERC-20 is safer as it is simpler. But if we sticked with safer and simpler we would be still in Bitcoin. permit() is nice, but it is not semantically that clean and would require wallet changes.