Tangy Tortilla Fox
Medium
cntracts sould use ReentrancyGuardUpgradeable
as it supports upgradable contracts, unlike ReentrancyGuard
Currently ReputationMarket
is upgradable and possibly planning upgrade in the future. indicators for such behavior are
ReputationMarket
usingUUPSUpgradeable
- The added gap inside both
ReputationMarket
and it's inheritedAccessControl
https://github.com/sherlock-audit/2024-12-ethos-update/blob/main/ethos/packages/contracts/contracts/ReputationMarket.sol#L151
uint256[50] private __gap;
AccessControl
being upgradable too
However even though the team intentions are for ReputationMarket
to be upgradable it still lacks the necessary stability as it still uses the normal non-upgradable ReentrancyGuard
, which has variable in it:
uint256 private constant NOT_ENTERED = 1;
uint256 private constant ENTERED = 2;
uint256 private _status;
No response
No response
- Oz to add a param inside
ReentrancyGuard
- Admins to upgrade the contracts
No response
Upgrading such contracts may be dangerous as if OZ (notorious for changing their standard contracts) has added some params to ReentrancyGuard
it would cause a storage collision inside ReputationMarket
, bricking the contract
No response
Use ReentrancyGuardUpgradeable
instead of ReentrancyGuard
in order to make the contracts more secure.