Files
openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol
Ernesto García ab2604ac5b Add reentrancy test cases for TimelockController (#4200)
Co-authored-by: Francisco <fg@frang.io>
2023-05-02 11:36:56 +02:00

27 lines
606 B
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "../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);
}
}
}