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.