Files
openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol
Francisco 874c2d3c02 Use explicit imports (#4399)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-06-29 20:12:26 +00:00

27 lines
622 B
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
import {Address} from "../utils/Address.sol";
contract TimelockReentrant {
address private _reenterTarget;
bytes private _reenterData;
bool _reentered;
function disableReentrancy() external {
_reentered = true;
}
function enableRentrancy(address target, bytes calldata data) external {
_reenterTarget = target;
_reenterData = data;
}
function reenter() external {
if (!_reentered) {
_reentered = true;
Address.functionCall(_reenterTarget, _reenterData);
}
}
}