In both functions: rescue_tokens
and claim
the events are emitted before before verifying the transfer is successful.
If the transfer fails for some reason, this can lead to recording an event for transfer without successful transfer.
When rescue_tokens
is called - event is emitted every time, even if transfer fails.
When claim
is called - event is emitted every time, even if transfer fails.
Checking events can lead to misunderstanding which transfer was truly successful for both functions.
for example:
if we have 5 transfer for 20 tokens each and 1 fails we will still have
5 emitted events for total of 100 tokens
instead of
4 emitted events for total of 80 tokens.
This will cause differences between actual funds and funds that are recorder as rescued/claimed.
Manual review
Moving emitting events after verifying the transfer is succcessful
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.