Laundrette::configureDependencies
returns an array of it's Module dependecies incorrectly.
When the policy is forst activated configureDependencies
is called. In Laundrette.sol the dependencies are returned incorrectly because the "WEAPN" keycode overwrites the "MONEY" keycode in the position 0 of the dependencies array, this means that during the policy activation this module dependency will not be saved in the moduleDependents
mapping in the kernel. This affects the functionality of the _reconfigurePolicies
function which is executed when upgrading modules.
HIGH - Module upgrades for "MONEY" keycode modules are not correctly done for the Laundrette policy, meaning that the EmergencyMigration script doesnt actually change the MoneyShelf
module to the MoneyVault
module.
Manual review + foundry test:
The last call to the depositTheCrimeMoneyInATM
function should revert but it doesn't because it's still calling the MoneyShelf contract instead of MoneyVault.
Change line 26 from:
dependencies[0] = toKeycode("WEAPN");
to
dependencies[1] = toKeycode("WEAPN");
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.