Inherited contracts contains initializer instead of onlyInitializing
Summary
Inherited contracts contains initializer modifier instead of onlyInitializing modifier
Vulnerability Detail
Contracts Basevault, tauDripFeed, ControllableUpgradeable are inherited in other contract. So the initialization functions should use onlyInializing modifier instead of initilizer. Nesting initializer modifier will result in revert during initialization.
Impact
Nested initializer will revert during initializing
saian
medium
Inherited contracts contains initializer instead of onlyInitializing
Summary
Inherited contracts contains initializer modifier instead of onlyInitializing modifier
Vulnerability Detail
Contracts Basevault, tauDripFeed, ControllableUpgradeable are inherited in other contract. So the initialization functions should use onlyInializing modifier instead of initilizer. Nesting initializer modifier will result in revert during initialization.
Impact
Nested initializer will revert during initializing
Code Snippet
https://github.com/sherlock-audit/2023-03-taurus/blob/main/taurus-contracts/contracts/Vault/BaseVault.sol#L21
https://github.com/sherlock-audit/2023-03-taurus/blob/main/taurus-contracts/contracts/Vault/TauDripFeed.sol#L11
https://github.com/sherlock-audit/2023-03-taurus/blob/main/taurus-contracts/contracts/Controller/ControllableUpgradeable.sol#L16
Tool used
Manual Review
Recommendation
Change initializer to onlyInitializing in inherited contracts
Duplicate of #34