The emergencyWithdraw
function directly transfers tokens to the treasury instead of using the deposit function. However, there is no way to retrieve these tokens from the treasury, leading to potential permanent loss of funds.
The same issue is present in the _processDistributions
The emergencyWithdraw
function allows the contract to withdraw tokens in emergency situations, but it directly transfers them to the treasury:
Same issue is present in the _processDistributions
This means that the tokens are not tracked in the treasury, hence it's not possible to withdraw as the withdraw function deducts from _balances[token]
lock of funds in the treasury contract as The function transfers tokens directly to the treasury without using the deposit function which meansThe tokens are not tracked and hence impossible to withdraw.
Manual review
Use the treasury::deposit
instead
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.