This is a TSTORE
version of ERC-20 implemented using a low iq search and replace on the Solady ERC-20 implementation replacing the allowance SSTORE
and SLOAD
with TSTORE
and TLOAD
.
A foundry template with custom solc
binaries (from transient-storage) that supports transient storage opcodes in inline assembly.
forge build --use bin/solc
forge test --use bin/solc
Arguably that the design for approve
and allowance
within the ERC-20 standard is necessary, but it creates a significant attack surface for unrevoked approvals.
The design is meant to create approvals that only last for the duration of the transaction. If TERC-20 were to be combined with an EIP-4337 wallet, we could create a safe approve/allowance
system for users, without the need to revoke approvals.