If the admin calls emergencyWithdraw, it will transfer all funds to the treasury. However, this will lead to stuck funds because they are not deposited using the deposit function in the Treasury contract, making them non-withdrawable.
Funds transferred via emergencyWithdraw will not be accounted for in the Treasury contract's _balances, preventing them from being withdrawn.
This results in a permanent loss of funds unless a manual override is implemented.
Admin calls emergencyWithdraw transferring tokens to the Treasury.
Tokens are sent but not recorded in _balances[token] in the Treasury contract.
Any attempt to withdraw these funds will fail due to InsufficientBalance.
Manual review.
Update the FeeCollector contract to use the deposit function, instead of direct transfer.
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.