The executeEmergencyAction function does not check if a predecessor operation (if specified) has been executed. This allows emergency actions to bypass dependency requirements, potentially leading to out-of-order execution and protocol inconsistencies.
The executeEmergencyAction function accepts a predecessor parameter but does not enforce its execution before proceeding. This is inconsistent with the behavior of executeBatch, which explicitly checks the predecessor's status.
Out-of-Order Execution: Emergency actions could be executed before their dependencies, violating the intended operation flow.
Protocol Inconsistencies: This could lead to unexpected state changes or protocol instability.
Loss of Funds: If an emergency action depends on a prior operation (e.g., fund allocation), bypassing the dependency could result in financial losses.
Manual Review
Add a predecessor check in executeEmergencyAction to ensure that the specified predecessor operation has been executed before proceeding. This check should mirror the behavior in executeBatch.
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.