In the file Nexus.sol
, the function Nexus::initializeAccount
should be deleted, as it has no use, since ModuleManager::_initModuleManager
can't be called a second time. Adding an external function will add to te gas that is used to deploy every Nexus
account, in addition to the fact that this is a payable function, which takes even more gas.
Function Nexus::initializeAccount
can't be called since _initModuleManager
can only be invoked as specified in the SentinelListLib
dependency.
This function is also not needed in a delegatecall
since it uses Storage::_getAccountStorage
which, as NatSpec specifies in Storage
, is for Nexus
accounts, which all call initModuleManager
in constructor
.
Adding a function which has no use causes higher deployment fees, for every user deploying a Nexus
Smart Account.
This causes higher deployment fees for every user deploying a smart account which means worse User Experience.
Invalid, if a `Nexus.sol` contract is already deployed, it does not need to be initialized again within the factory as seen [here](https://github.com/Cyfrin/2024-07-biconomy/blob/9590f25cd63f7ad2c54feb618036984774f3879d/contracts/factory/NexusAccountFactory.sol#L58-L60), so no issue here
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.