The nonReentrant
modifier is typically provided by libraries, such as OpenZeppelin's ReentrancyGuard
, to prevent re-entrancy
attacks.
The nonReentrant
modifier is not defined within the contract. This modifier is crucial for preventing re-entrancy
attacks, where an external contract can call back into the calling contract before the first call is finished, potentially leading to unexpected behavior or security vulnerabilities.
The contract likely intended to use the nonReentrant
modifier from the OpenZeppelin ReentrancyGuard
library but did not import this library.
As a result, the compiler does not recognize the modifier, leading to compilation errors.
Manual Review
To resolve this issue, the contract must import the OpenZeppelin ReentrancyGuard
library, which provides the nonReentrant
modifier. This is done by adding an import statement at the beginning of the contract file, specifying the path to the ReentrancyGuard.sol
file from the OpenZeppelin
contracts library.
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.