OpenZeppelin's ERC20 treats type(uint256).max allowance as "infinite" - it never decreases when spending. This is a widely adopted convention for gas-efficient unlimited approvals.
Token-0x always decrements the allowance, even when set to type(uint256).max. This causes behavioral differences that may break integrations expecting OpenZeppelin-style behavior.
Likelihood:
Many DeFi protocols use type(uint256).max approvals
Users commonly set unlimited approvals to avoid repeated approve transactions
Impact:
Protocols expecting infinite allowances will need to re-approve
Gas inefficiency for users who wanted unlimited approvals
Behavioral inconsistency with standard ERC20 implementations
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.