Assessment reports>Concrete>Informational findings>ConcreteMultiStrategy should inherit from ReentrancyGuardUpgradeable instead of ReentrancyGuard
Category: Coding Mistakes

ConcreteMultiStrategy should inherit from ReentrancyGuardUpgradeable instead of ReentrancyGuard

Informational Impact
Informational Severity
N/A Likelihood

Description

The ConcreteMultiStrategy contract deploys via clone, and its state initializes in the initialize function. Therefore, it should inherit from ReentrancyGuardUpgradeable instead of ReentrancyGuard.

Impact

The _status storage variable in ConcreteMultiStrategy remains uninitialized during the initialize call. Although it will be correctly set to NOT_ENTERED after the first invocation of the nonReentrant modifier, it is best practice to inherit from ReentrancyGuardUpgradeable.

Recommendations

ConcreteMultiStrategy should inherit ReentrancyGuardUpgradeable instead of ReentrancyGuard and initialize the _status storage variable in the initialize function.

Remediation

This issue has been acknowledged by Blueprint Finance, and a fix was implemented in commit 0884cb28.

Zellic © 2025Back to top ↑