Wobbly Chrome Cuckoo
Medium
In the setUp()
function there are no checks to ensure that the Safe being pointed to has the HSG contract enabled as the only module. As a result, the protocol invariant of 'There should never be more than 1 module enabled on the safe' may be violated. If the Safe has more than one module, then functionality will be bricked (signers will not be able to execute transactions) due to the state check failing. Since the HSG can't point itself to another Safe, the HSG contract will be rendered useless.
See above.
HSG is setup with an already existing Safe that has a module enabled (which is not the HSG).
No response
See summary.
Signers can't execute any Safe transactions until the HSG detaches itself from the Safe. The HSG is bricked.
No response
Add checks to ensure that the Safe being pointed to in setUp()
does not break protocol invariants.