When user want to claim his rewards he should call claim()
funct that forward a call to L1Sender contract with incorrect arguments.
Users can calim their rewards via claim()
in Distribution contract that forwards a call to L1Sender :
L1Sender contract:
In that case msg.sender
which is specified in the claim()
is a user itself. In case of any problems with a transaction he will get the refund.
Malicious users can abuse the protocol by sending tx very often and get refunds for any failed tx.
Manual review
I guess for that case the refund should be made to Distribution contract but not user itself. So you can use address(this)
instead of msg.sender.
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.