11// SPDX-License-Identifier: UNLICENSED
2- pragma solidity 0.8.0 ;
2+ pragma solidity 0.8.12 ;
33
4- import {Gelatofied} from "./gelato/Gelatofied.sol " ;
5- import {GelatoBytes} from "./gelato/GelatoBytes.sol " ;
4+ import {Gelatofied} from "./vendor/ gelato/Gelatofied.sol " ;
5+ import {GelatoBytes} from "./vendor/ gelato/GelatoBytes.sol " ;
66import {
77 EnumerableSet
88} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol " ;
99import {
1010 SafeERC20,
1111 IERC20
1212} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol " ;
13- import {TaskTreasury} from "./taskTreasury/TaskTreasury.sol " ;
13+ import {
14+ ITaskTreasuryUpgradable
15+ } from "./interfaces/ITaskTreasuryUpgradable.sol " ;
1416
1517// solhint-disable max-line-length
1618// solhint-disable max-states-count
@@ -34,7 +36,7 @@ contract Ops is Gelatofied {
3436 mapping (bytes32 => address ) public taskCreator;
3537 mapping (bytes32 => address ) public execAddresses;
3638 mapping (address => EnumerableSet.Bytes32Set) internal _createdTasks;
37- address public immutable taskTreasury;
39+ ITaskTreasuryUpgradable public immutable taskTreasury;
3840 uint256 public fee;
3941 address public feeToken;
4042 // Appended State
@@ -66,7 +68,7 @@ contract Ops is Gelatofied {
6668 uint128 indexed interval
6769 );
6870
69- constructor (address payable _gelato , address _taskTreasury )
71+ constructor (address payable _gelato , ITaskTreasuryUpgradable _taskTreasury )
7072 Gelatofied (_gelato)
7173 {
7274 taskTreasury = _taskTreasury;
@@ -117,11 +119,7 @@ contract Ops is Gelatofied {
117119 returnData.revertWithError ("Ops.exec: " );
118120
119121 if (_useTaskTreasuryFunds) {
120- TaskTreasury (taskTreasury).useFunds (
121- _feeToken,
122- _txFee,
123- _taskCreator
124- );
122+ taskTreasury.useFunds (_taskCreator, _feeToken, _txFee);
125123 } else {
126124 delete fee;
127125 delete feeToken;
0 commit comments