MoneyVault
does not have moneyshelf
role and as a result cant call CrimeMoney::burn
or CrimeMoney::mint
Description:
In the Depoloyer.s.sol
script the moneyShelf contract is given the moneyshelf
role, giving it access to mint
or burn
CrimeMoney tokens, but when the emergency mode happens (on top of previous bugs: incorrect dependencies, and funds being stuck in moneyshelf) the moneyVault doesnt have the moneyshelf
role and can not call burn
to withdraw tokens for godfather
.
Impact:
Funds remain inaccessible within the moneyVault
due to the lack of permissions to withdraw them. Although a solution exists—assigning the moneyshelf
role to MoneyVault
—this issue underscores the importance of proper role management during emergency transitions.
Proof of Concept:
Include the following test in migration tests, noting that previous bugs must be resolved before running this test.
Recommended Mitigation:
Assign the moneyshelf
role to MoneyVault
within the EmergencyMigration
deployment script to enable token operations during emergency mode.
Godfather can add the role manually
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.