Reentrancy Guard Handler
ReentrancyGuardHandlerUpgradeable
_Based in OZ's ReentracyGuardUpgradeable, but without it's own storage so we can insert the guard respecting storage layout.
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 Reentrancy After Istanbul.
_NOT_ENTERED
_ENTERED
__ReentrancyGuard_init
__ReentrancyGuard_init_unchained
_setStatus
_getStatus
nonReentrant
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 making it call a
private function that does the actual work.