The protocol implements the EMERGENCY_ADMIN
and EMERGENCY_ROLE
to perform emergency duties. However, the EMERGENCY_ADMIN
in BaseGauge
is blocked form performing Emergency withdrawal of tokens as required.
In FeeCollector
, the following is provided:
As such, this role is able to perform emergency withdrawal of tokesn as stated above:
Now, in BaseGauge
, the EMERGENCY_ADMIN
is implemented with the following comment:
However, notice that this role is blocked here in emergencyWithdraw()
:
This function requires the caller to have the DEFAULT_ADMIN_ROLE
. It is true that such an admin can manage the EMERGENCY_ADMIN
role but this does not mean that another user who has been granted the EMERGENCY_ADMIN
will be able to perform this operation.
The EMERGENCY_ADMIN
is blocked from performing emergency withdrawal of tokens as required which goes against the administartion model intended by the protocol.
Manual Review
Modify the emergencyWithdraw()
to use EMERGENCY_ADMIN
:
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.