} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
function gelato() external view returns (address payable);
abstract contract OpsReady {
address public immutable ops;
address payable public immutable gelato;
address public constant ETH = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;
constructor(address _ops) {
gelato = IOps(_ops).gelato();
require(msg.sender == ops, "OpsReady: onlyOps");
function _transfer(uint256 _amount, address _paymentToken) internal {
if (_paymentToken == ETH) {
(bool success, ) = gelato.call{value: _amount}("");
require(success, "_transfer: ETH transfer failed");
SafeERC20.safeTransfer(IERC20(_paymentToken), gelato, _amount);