When the MoneyShelf
module is upgraded from MoneyShelf
to MoneyVault
, the USDC funds are not moved to MoneyVault
.
This should be handled by EmergencyMigration::migrate
, but it misses to move the funds.
The following test demonstrates that after migration, the USDC funds are still in MoneyShelf
, not MoneyVault
:
USDC funds will remain in the MoneyShelf
. This makes the whole migration pointless.
The only way to recover the funds is to upgrade the module MoneyVault
back to the original MoneyShelf
- provided that MoneyShelf
is not already blacklisted by authorities or emptied/controlled by another gang.
Manual reivew, Foundry.
Ensure that USDC funds are moved from the MoneyShelf
contract to MoneyVault
.
For this, the godfather needs to
withdraw every user's USDC deposit from MoneyShelf
by repeatedly calling Laundrette::withdrawMoney
;
transfer the USDC directly to MoneyVault
(using the standard ERC20 function 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.