The StabilityPool contract inherits from ReentrancyGuard, which is not compatible with upgradable contracts. To ensure compatibility with upgradable proxy patterns, the contract should use ReentrancyGuardUpgradeable instead. This will allow the contract to avoid potential issues when upgrading via proxy, where state variables from the base contract might conflict.
Currently, the contract inherits from ReentrancyGuard, however, ReentrancyGuard is not designed to be used in upgradable contracts. For upgradable contracts, you should use the ReentrancyGuardUpgradeable from OpenZeppelin, which is specifically designed to be compatible with proxies.
If the contract is upgraded in the future, the reentrancy guard may not work as intended.
Maual review
Modify the inheritance to use ReentrancyGuardUpgradeable instead of ReentrancyGuard
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.