View Source: openzeppelin-solidity/contracts/security/ReentrancyGuard.sol
↘ Derived Contracts: Recoverable
ReentrancyGuard
Contract module that helps prevent reentrant calls to a function.
Inheriting from ReentrancyGuard
will make the {nonReentrant} modifier
available, which can be applied to functions to make sure there are no nested
(reentrant) calls to them.
Note that because there is a single nonReentrant
guard, functions marked as
nonReentrant
may not call one another. This can be worked around by making
those functions private
, and then adding external
nonReentrant
entry
points to them.
TIP: If you would like to learn more about reentrancy and alternative ways
to protect against it, check out our blog post
https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
Constants & Variables
uint256 private constant _NOT_ENTERED;
uint256 private constant _ENTERED;
uint256 private _status;
Prevents a contract from calling itself, directly or indirectly.
Calling a nonReentrant
function from another nonReentrant
function is not supported. It is possible to prevent this from happening
by making the nonReentrant
function external, and make it call a
private
function that does the actual work.
modifier nonReentrant() internal
Arguments
Name | Type | Description |
---|
function () internal nonpayable
Arguments
Name | Type | Description |
---|
Source Code
constructor () {
_status = _NOT_ENTERED;
}
- Address
- BokkyPooBahsDateTimeLibrary
- Commission
- Context
- Controller
- Cover
- CoverAssurance
- CoverBase
- CoverProvision
- CoverStake
- CoverUtilV1
- cToken
- cTokenFactory
- Destroyable
- ERC20
- FakeStore
- FakeToken
- Governance
- GovernanceUtilV1
- ICommission
- ICover
- ICoverAssurance
- ICoverProvision
- ICoverStake
- ICToken
- ICTokenFactory
- IERC20
- IERC20Metadata
- IGovernance
- IMember
- IPolicy
- IPolicyAdmin
- IPriceDiscovery
- IProtocol
- IReporter
- IStore
- IVault
- IVaultFactory
- IWitness
- MaliciousToken
- Migrations
- NTransferUtilV2
- NTransferUtilV2Intermediate
- Ownable
- Pausable
- Policy
- PolicyAdmin
- PolicyManager
- PriceDiscovery
- Protocol
- ProtoUtilV1
- Recoverable
- ReentrancyGuard
- Reporter
- SafeERC20
- SafeMath
- Store
- StoreBase
- StoreKeyUtil
- Vault
- VaultFactory
- VaultPod
- Witness