Reverting
an entire batch()
call is unnecessary when each function in the flow operates independently. Since a revert
in one function does not impact the execution of subsequent functions, reverting the entire batch
is not required.
This behavior could cause issues for users in specific scenarios.
For instance, if a recipient who is also a sender attempts to withdraw funds from one streamId and deposit them into other streamIds, a single failed withdrawal would prevent the remaining functions from executing.
This situation might occur if the admin increases protocol fees, prioritizing their transaction by placing it before the user's transaction within the same block. This could result in the withdrawn amount being less than the recipient expected when initiating the batch() call.
Discussed in the summary
Manual review
Avoid reverting when one execution fails
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.