Some tokens can revert when 0 approval
is set. The popular BNB is one of them:
https://etherscan.io/token/0xB8c77482e45F1F44dE1745F52C74426C631bDD52#code
The problem is that L1ERC20Bridge
calls approve with 0
for all tokens.
DoS for tokens that revert on 0 approval. Protocol cannot receive deposits from such tokens.
Manual Review
Call forceApprove
inside a try-catch block. If the call reverts, check whether the token has allowance == 0
for the L1_ASSET_ROUTER
, if so, allow the code to continue, otherwise revert.
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.