The WETH contract deployed on the Blast L2 chain does not conform to the standard WETH99 implementation. Specifically, it lacks the following allowance check in its transferFrom function:
As a result, any attempt to use transferFrom with WETH on Blast L2 will always revert, causing a Denial of Service (DoS) in protocols and contracts that assume standard behavior. This bug affects both Solidity and Huff implementations of airdrop contracts.
In this Airdrop contracts, the transferFrom
call is used to transfer tokens from the caller to the contract for distribution to the recipients. However, on the Blast L2 chain, any call to transferFrom with WETH will always revert causing the entire airdrop process to fail. The missing allowance check causes any call to transferFrom to always revert, as the function assumes allowance is always insufficient.
Any attempt to transfer WETH using transferFrom will revert in blast L2. This results in the complete failure of part of the airdrop process as the contract will be unable to acquire the necessary WETH tokens for distribution.
Manual review
Implement custom logic for WETH transfers on Blast L2.This includes adding an allowance check.
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.