{
  "address": "0xAcfcbFA3c8e1F2812D793D2f5a7Baa869afA2CeD",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address payable",
          "name": "_gelato",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "sponsor",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "feeToken",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "oneBalanceChainId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "nativeToFeeTokenXRateNumerator",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "nativeToFeeTokenXRateDenominator",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "correlationId",
          "type": "bytes32"
        }
      ],
      "name": "LogUseGelato1Balance",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_taskId",
          "type": "bytes32"
        }
      ],
      "name": "cancelTask",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_execAddress",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_execDataOrSelector",
          "type": "bytes"
        },
        {
          "components": [
            {
              "internalType": "enum LibDataTypes.Module[]",
              "name": "modules",
              "type": "uint8[]"
            },
            {
              "internalType": "bytes[]",
              "name": "args",
              "type": "bytes[]"
            }
          ],
          "internalType": "struct LibDataTypes.ModuleData",
          "name": "_moduleData",
          "type": "tuple"
        },
        {
          "internalType": "address",
          "name": "_feeToken",
          "type": "address"
        }
      ],
      "name": "createTask",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "taskId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_taskCreator",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_execAddress",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_execData",
          "type": "bytes"
        },
        {
          "components": [
            {
              "internalType": "enum LibDataTypes.Module[]",
              "name": "modules",
              "type": "uint8[]"
            },
            {
              "internalType": "bytes[]",
              "name": "args",
              "type": "bytes[]"
            }
          ],
          "internalType": "struct LibDataTypes.ModuleData",
          "name": "_moduleData",
          "type": "tuple"
        },
        {
          "internalType": "uint256",
          "name": "_txFee",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_feeToken",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "_revertOnFailure",
          "type": "bool"
        }
      ],
      "name": "exec",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_taskCreator",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_execAddress",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_execData",
          "type": "bytes"
        },
        {
          "components": [
            {
              "internalType": "enum LibDataTypes.Module[]",
              "name": "modules",
              "type": "uint8[]"
            },
            {
              "internalType": "bytes[]",
              "name": "args",
              "type": "bytes[]"
            }
          ],
          "internalType": "struct LibDataTypes.ModuleData",
          "name": "_moduleData",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "sponsor",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "feeToken",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "oneBalanceChainId",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "nativeToFeeTokenXRateNumerator",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "nativeToFeeTokenXRateDenominator",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "correlationId",
              "type": "bytes32"
            }
          ],
          "internalType": "struct IGelato1Balance.Gelato1BalanceParam",
          "name": "_oneBalanceParam",
          "type": "tuple"
        },
        {
          "internalType": "bool",
          "name": "_revertOnFailure",
          "type": "bool"
        }
      ],
      "name": "exec1Balance",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "execAddresses",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_taskCreator",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_execAddress",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_taskId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_correlationId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_execData",
          "type": "bytes"
        },
        {
          "internalType": "bool",
          "name": "_revertOnFailure",
          "type": "bool"
        },
        {
          "internalType": "bool",
          "name": "_singleExec",
          "type": "bool"
        }
      ],
      "name": "execBypassModule",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_taskCreator",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_execAddress",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_taskId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_txFee",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_feeToken",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_execData",
          "type": "bytes"
        },
        {
          "internalType": "bool",
          "name": "_revertOnFailure",
          "type": "bool"
        },
        {
          "internalType": "bool",
          "name": "_singleExec",
          "type": "bool"
        }
      ],
      "name": "execBypassModuleSyncFee",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "fee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "feeToken",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "gelato",
      "outputs": [
        {
          "internalType": "address payable",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getFeeDetails",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "taskCreator",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "execAddress",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "execSelector",
          "type": "bytes4"
        },
        {
          "components": [
            {
              "internalType": "enum LibDataTypes.Module[]",
              "name": "modules",
              "type": "uint8[]"
            },
            {
              "internalType": "bytes[]",
              "name": "args",
              "type": "bytes[]"
            }
          ],
          "internalType": "struct LibDataTypes.ModuleData",
          "name": "moduleData",
          "type": "tuple"
        },
        {
          "internalType": "address",
          "name": "feeToken",
          "type": "address"
        }
      ],
      "name": "getTaskId",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "taskId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_taskCreator",
          "type": "address"
        }
      ],
      "name": "getTaskIdsByUser",
      "outputs": [
        {
          "internalType": "bytes32[]",
          "name": "",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "nonce1Balance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum LibDataTypes.Module[]",
          "name": "_modules",
          "type": "uint8[]"
        },
        {
          "internalType": "address[]",
          "name": "_moduleAddresses",
          "type": "address[]"
        }
      ],
      "name": "setModule",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "taskCreator",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum LibDataTypes.Module",
          "name": "",
          "type": "uint8"
        }
      ],
      "name": "taskModuleAddresses",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "timedTask",
      "outputs": [
        {
          "internalType": "uint128",
          "name": "nextExec",
          "type": "uint128"
        },
        {
          "internalType": "uint128",
          "name": "interval",
          "type": "uint128"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "transactionHash": "0xd023c403650e450aff6ad8986dd75ca8803bd14554020c1bcad01d1624ad95a0",
  "receipt": {
    "to": "0x0000000000000000000000000000000000008006",
    "from": "0xF1108379d71ff2A785899F4C36010f841F1Fea04",
    "contractAddress": "0xAcfcbFA3c8e1F2812D793D2f5a7Baa869afA2CeD",
    "transactionIndex": 2,
    "gasUsed": "290146478",
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "blockHash": "0xe49e87db14974b662a7144380807f9ac964cddc4d1df015efb6185a7a891aafc",
    "transactionHash": "0xd023c403650e450aff6ad8986dd75ca8803bd14554020c1bcad01d1624ad95a0",
    "logs": [
      {
        "transactionIndex": 2,
        "blockNumber": 30000538,
        "transactionHash": "0xd023c403650e450aff6ad8986dd75ca8803bd14554020c1bcad01d1624ad95a0",
        "address": "0x000000000000000000000000000000000000800A",
        "topics": [
          "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
          "0x000000000000000000000000f1108379d71ff2a785899f4c36010f841f1fea04",
          "0x0000000000000000000000000000000000000000000000000000000000008001"
        ],
        "data": "0x000000000000000000000000000000000000000000000000002862f5017e7300",
        "logIndex": 7,
        "blockHash": "0xe49e87db14974b662a7144380807f9ac964cddc4d1df015efb6185a7a891aafc"
      },
      {
        "transactionIndex": 2,
        "blockNumber": 30000538,
        "transactionHash": "0xd023c403650e450aff6ad8986dd75ca8803bd14554020c1bcad01d1624ad95a0",
        "address": "0x0000000000000000000000000000000000008008",
        "topics": [
          "0x27fe8c0b49f49507b9d4fe5968c9f49edfe5c9df277d433a07a0717ede97638d"
        ],
        "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000040a0000000000000000000000000000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800e0c0309fe001bcac12aeb40e13d7645687ea06ddd8976ef55485bf8fe844f7c26",
        "logIndex": 8,
        "blockHash": "0xe49e87db14974b662a7144380807f9ac964cddc4d1df015efb6185a7a891aafc"
      },
      {
        "transactionIndex": 2,
        "blockNumber": 30000538,
        "transactionHash": "0xd023c403650e450aff6ad8986dd75ca8803bd14554020c1bcad01d1624ad95a0",
        "address": "0x0000000000000000000000000000000000008008",
        "topics": [
          "0x3a36e47291f4201faf137fab081d92295bce2d53be2c6ca68ba82c7faa9ce241",
          "0x000000000000000000000000000000000000000000000000000000000000800e",
          "0x0c0309fe001bcac12aeb40e13d7645687ea06ddd8976ef55485bf8fe844f7c26"
        ],
        "data": "[encoded data, 68162 characters]",
        "logIndex": 9,
        "blockHash": "0xe49e87db14974b662a7144380807f9ac964cddc4d1df015efb6185a7a891aafc"
      },
      {
        "transactionIndex": 2,
        "blockNumber": 30000538,
        "transactionHash": "0xd023c403650e450aff6ad8986dd75ca8803bd14554020c1bcad01d1624ad95a0",
        "address": "0x0000000000000000000000000000000000008004",
        "topics": [
          "0xc94722ff13eacf53547c4741dab5228353a05938ffcdd5d4a2d533ae0e618287",
          "0x0100077bc9e6e18b51d92e6103d6e5dcce80de2b4be3bd68be9087e99190be54",
          "0x0000000000000000000000000000000000000000000000000000000000000000"
        ],
        "data": "0x",
        "logIndex": 10,
        "blockHash": "0xe49e87db14974b662a7144380807f9ac964cddc4d1df015efb6185a7a891aafc"
      },
      {
        "transactionIndex": 2,
        "blockNumber": 30000538,
        "transactionHash": "0xd023c403650e450aff6ad8986dd75ca8803bd14554020c1bcad01d1624ad95a0",
        "address": "0x0000000000000000000000000000000000008006",
        "topics": [
          "0x290afdae231a3fc0bbae8b1af63698b0a1d79b21ad17df0342dfb952fe74f8e5",
          "0x000000000000000000000000f1108379d71ff2a785899f4c36010f841f1fea04",
          "0x0100077bc9e6e18b51d92e6103d6e5dcce80de2b4be3bd68be9087e99190be54",
          "0x000000000000000000000000acfcbfa3c8e1f2812d793d2f5a7baa869afa2ced"
        ],
        "data": "0x",
        "logIndex": 11,
        "blockHash": "0xe49e87db14974b662a7144380807f9ac964cddc4d1df015efb6185a7a891aafc"
      },
      {
        "transactionIndex": 2,
        "blockNumber": 30000538,
        "transactionHash": "0xd023c403650e450aff6ad8986dd75ca8803bd14554020c1bcad01d1624ad95a0",
        "address": "0x000000000000000000000000000000000000800A",
        "topics": [
          "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
          "0x0000000000000000000000000000000000000000000000000000000000008001",
          "0x000000000000000000000000f1108379d71ff2a785899f4c36010f841f1fea04"
        ],
        "data": "0x000000000000000000000000000000000000000000000000000e9dca39a4b780",
        "logIndex": 12,
        "blockHash": "0xe49e87db14974b662a7144380807f9ac964cddc4d1df015efb6185a7a891aafc"
      }
    ],
    "blockNumber": 30000538,
    "cumulativeGasUsed": "0",
    "status": 1,
    "byzantium": true
  },
  "args": ["0x52cb9f60225aA830AE420126BC8e3d5B2fc5bCf4"],
  "numDeployments": 1,
  "solcInputHash": "be5f348771afaaf673938143f4609f67",
  "metadata": {
    "optimizer_settings": "M3B3",
    "solc_metadata": "{\"compiler\":{\"version\":\"0.8.14+commit.80d49f37\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_gelato\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sponsor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oneBalanceChainId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nativeToFeeTokenXRateNumerator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nativeToFeeTokenXRateDenominator\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"correlationId\",\"type\":\"bytes32\"}],\"name\":\"LogUseGelato1Balance\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_taskId\",\"type\":\"bytes32\"}],\"name\":\"cancelTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_execAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_execDataOrSelector\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"enum LibDataTypes.Module[]\",\"name\":\"modules\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"args\",\"type\":\"bytes[]\"}],\"internalType\":\"struct LibDataTypes.ModuleData\",\"name\":\"_moduleData\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_feeToken\",\"type\":\"address\"}],\"name\":\"createTask\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_taskCreator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_execAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_execData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"enum LibDataTypes.Module[]\",\"name\":\"modules\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"args\",\"type\":\"bytes[]\"}],\"internalType\":\"struct LibDataTypes.ModuleData\",\"name\":\"_moduleData\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"_txFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_revertOnFailure\",\"type\":\"bool\"}],\"name\":\"exec\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_taskCreator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_execAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_execData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"enum LibDataTypes.Module[]\",\"name\":\"modules\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"args\",\"type\":\"bytes[]\"}],\"internalType\":\"struct LibDataTypes.ModuleData\",\"name\":\"_moduleData\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sponsor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"oneBalanceChainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nativeToFeeTokenXRateNumerator\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nativeToFeeTokenXRateDenominator\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"correlationId\",\"type\":\"bytes32\"}],\"internalType\":\"struct IGelato1Balance.Gelato1BalanceParam\",\"name\":\"_oneBalanceParam\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"_revertOnFailure\",\"type\":\"bool\"}],\"name\":\"exec1Balance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"execAddresses\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_taskCreator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_execAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_taskId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_correlationId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_execData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"_revertOnFailure\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_singleExec\",\"type\":\"bool\"}],\"name\":\"execBypassModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_taskCreator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_execAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_taskId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_txFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_feeToken\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_execData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"_revertOnFailure\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_singleExec\",\"type\":\"bool\"}],\"name\":\"execBypassModuleSyncFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gelato\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDetails\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"taskCreator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"execAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"execSelector\",\"type\":\"bytes4\"},{\"components\":[{\"internalType\":\"enum LibDataTypes.Module[]\",\"name\":\"modules\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"args\",\"type\":\"bytes[]\"}],\"internalType\":\"struct LibDataTypes.ModuleData\",\"name\":\"moduleData\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"feeToken\",\"type\":\"address\"}],\"name\":\"getTaskId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"taskId\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_taskCreator\",\"type\":\"address\"}],\"name\":\"getTaskIdsByUser\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nonce1Balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum LibDataTypes.Module[]\",\"name\":\"_modules\",\"type\":\"uint8[]\"},{\"internalType\":\"address[]\",\"name\":\"_moduleAddresses\",\"type\":\"address[]\"}],\"name\":\"setModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"taskCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum LibDataTypes.Module\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"taskModuleAddresses\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"timedTask\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"nextExec\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"interval\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"cancelTask(bytes32)\":{\"params\":{\"taskId\":\"Unique hash of the task that is being cancelled. {See LibTaskId-getTaskId}\"}},\"createTask(address,bytes,(uint8[],bytes[]),address)\":{\"params\":{\"execAddress\":\"Address of contract that should be called by Gelato.\",\"execData\":\"Execution data to be called with / function selector if execution data is yet to be determined.\",\"feeToken\":\"Address of token to be used as payment. Use address(0) if Gelato 1Balance is being used, 0xeeeeee... for ETH or native tokens.\",\"moduleData\":\"Conditional modules that will be used. {See LibDataTypes-ModuleData}\"},\"returns\":{\"taskId\":\"Unique hash of the task created.\"}},\"exec(address,address,bytes,(uint8[],bytes[]),uint256,address,bool)\":{\"params\":{\"execAddress\":\"Address of contract that should be called by Gelato.\",\"execData\":\"Execution data to be called with / function selector if execution data is yet to be determined.\",\"feeToken\":\"Token used to pay for the execution. ETH = 0xeeeeee...\",\"moduleData\":\"Conditional modules that will be used. {See LibDataTypes-ModuleData}\",\"revertOnFailure\":\"To revert or not if call to execAddress fails. (Used for off-chain simulations)\",\"taskCreator\":\"The address which created the task.\",\"txFee\":\"Fee paid to Gelato for execution, transfered to Gelato.feeCollector().\"}},\"exec1Balance(address,address,bytes,(uint8[],bytes[]),(address,address,uint256,uint256,uint256,bytes32),bool)\":{\"params\":{\"execAddress\":\"Address of contract that should be called by Gelato.\",\"execData\":\"Execution data to be called with / function selector if execution data is yet to be determined.\",\"moduleData\":\"Conditional modules that will be used. {See LibDataTypes-ModuleData}\",\"oneBalanceParam\":\"Parameters required for fee payment with Gelato 1Balance.\",\"revertOnFailure\":\"To revert or not if call to execAddress fails. (Used for off-chain simulations)\",\"taskCreator\":\"The address which created the task.\"}},\"execBypassModule(address,address,bytes32,bytes32,bytes,bool,bool)\":{\"params\":{\"correlationId\":\"Id of the execution to be used for 1Balance settlement.\",\"execAddress\":\"Address of contract that should be called by Gelato.\",\"execData\":\"Execution data to be called with / function selector if execution data is yet to be determined.\",\"revertOnFailure\":\"To revert or not if call to execAddress fails. (Used for off-chain simulations)\",\"singleExec\":\"If the task is a SingleExec task. If true, task will be cancelled after execution.\",\"taskCreator\":\"The address which created the task.\",\"taskId\":\"Unique hash of the task.\"}},\"getFeeDetails()\":{\"returns\":{\"_0\":\"uint256 Fee amount to be paid.\",\"_1\":\"address Token to be paid. (Determined and passed by taskCreator during createTask)\"}},\"getTaskId(address,address,bytes4,(uint8[],bytes[]),address)\":{\"params\":{\"execAddress\":\"Address of contract that will be called by Gelato.\",\"execSelector\":\"Signature of the function which will be called by Gelato.\",\"feeToken\":\"Address of token to be used as payment. Use address(0) if Gelato 1Balance is being used, 0xeeeeee... for ETH or native tokens.\",\"moduleData\":\"Conditional modules that will be used. {See LibDataTypes-ModuleData}\",\"taskCreator\":\"The address which created the task.\"}},\"getTaskIdsByUser(address)\":{\"params\":{\"taskCreator\":\"Address of task creator to query.\"},\"returns\":{\"_0\":\"bytes32[] List of taskIds created.\"}},\"setModule(uint8[],address[])\":{\"params\":{\"moduleAddresses\":\"List of addresses for respective modules.\",\"modules\":\"List of modules to be set\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"cancelTask(bytes32)\":{\"notice\":\"Terminates a task that was created and Gelato can no longer execute it.\"},\"createTask(address,bytes,(uint8[],bytes[]),address)\":{\"notice\":\"Initiates a task with conditions which Gelato will monitor and execute when conditions are met.\"},\"exec(address,address,bytes,(uint8[],bytes[]),uint256,address,bool)\":{\"notice\":\"Execution API called by Gelato, using Sync Fee as fee payment method\"},\"exec1Balance(address,address,bytes,(uint8[],bytes[]),(address,address,uint256,uint256,uint256,bytes32),bool)\":{\"notice\":\"Execution API called by Gelato, using Gelato 1Balance as fee payment method.\"},\"execBypassModule(address,address,bytes32,bytes32,bytes,bool,bool)\":{\"notice\":\"Execution API called by Gelato, using Gelato 1Balance as fee payment method.\"},\"getFeeDetails()\":{\"notice\":\"Helper function to query fee and feeToken to be used for payment. (For executions which pays itself)\"},\"getTaskId(address,address,bytes4,(uint8[],bytes[]),address)\":{\"notice\":\"Helper function to compute task id with module arguments\"},\"getTaskIdsByUser(address)\":{\"notice\":\"Helper func to query all open tasks by a task creator.\"},\"setModule(uint8[],address[])\":{\"notice\":\"Sets the address of task modules. Only callable by proxy admin.\"}},\"notice\":\"Automate enables everyone to have Gelato monitor and execute transactions.ExecAddress refers to the contract that has the function which Gelato will call.Modules allow users to customise conditions and specifications when creating a task.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Automate.sol\":\"Automate\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xc3d946432c0ddbb1f846a0d3985be71299df331b91d06732152117f62f0be2b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4632c341a06ba5c079b51ca5a915efab4e6ab57735b37839b3e8365ff806a43e\",\"dweb:/ipfs/QmTHT3xHYed2wajEoA5qu7ii2BxLpPhQZHwAhtLK5Z7ANK\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x2ccf9d2313a313d41a791505f2b5abfdc62191b5d4334f7f7a82691c088a1c87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a57d0854b2fdce6ebff933a48dca2445643d1eccfc27f00292e937f26c6a58\",\"dweb:/ipfs/QmW45rZooS9TqR4YXUbjRbtf2Bpb5ouSarBvfW1LdGprvV\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9772845c886f87a3aab315f8d6b68aa599027c20f441b131cd4afaf65b588900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad2f29a9c17a4f746416c9e254e17671f43c409dbfa6e4d7d76c3e4a83212d31\",\"dweb:/ipfs/QmTqU65L6iu6yqmXKzcNLPioR8etzKPWycpDJCm17ifVdS\"]},\"contracts/Automate.sol\":{\"keccak256\":\"0x08c794ce79fa02058b71a7ac8a583bcca9ccf0fe34a59e2960590de6664c8e03\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b34d94928be8305de30199fa683858f0bad36aa1ac1d4872312b5b646faa94a3\",\"dweb:/ipfs/QmWCqDfFANqCw9hbus2twS8JrbBBVpYdKVZhucaJ5K22ci\"]},\"contracts/AutomateStorage.sol\":{\"keccak256\":\"0xdc7009675d6be9436f1223a82c64b80f8f2ef8c2a594298bf6d5db8b201d45f8\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://bc95a08bece5941384260a54376b07f4ca30024fc4f1ca51d7d12ffc42fb74ef\",\"dweb:/ipfs/QmNNyaJgxfyPzVbQd7oTPav86gn1swhvg7AyxSQrG2Vj7t\"]},\"contracts/functions/FExec.sol\":{\"keccak256\":\"0x48375d0645cf4dfe7d3f18dc727cbb2322a09233a2e9cce9352a73acc357bf07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c93cce6a8a254e323227075064c9c897885ac65a64a9b2486bf7f18e294b96a\",\"dweb:/ipfs/QmbU5P1puBobxcycovew1PC5HSzsdMVNdf88PVRbrK6V5q\"]},\"contracts/functions/FUtils.sol\":{\"keccak256\":\"0xecf150c4e9030703ac85cd5192fb98eca2e68a8df00ca50efd99fc8813cfb4a2\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b4be457cd1613ed0ce8cf60a1e20c6e10c431b0827e5660b06a3f3557451f9c1\",\"dweb:/ipfs/QmNrZESyZcdFzcwC5DAVivfY3Y23s1NymfnopLRhK7LR84\"]},\"contracts/interfaces/IAutomate.sol\":{\"keccak256\":\"0x3b8418bf4df5b5b4fa137b34f857e8d088f785d41f6c7e1e86bf64b6bb3df323\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6fb41e0e3235cda8670d18cf444a15ecdfbc25897598133413654a3e833658b\",\"dweb:/ipfs/QmfHme3rq3JzpgJ2TtDtAP2eqXi3Tttg5Wq2BinmrpvLsg\"]},\"contracts/interfaces/IGelato1Balance.sol\":{\"keccak256\":\"0xbe0b342ff2bd982b3461f95d6410b0c385f883a5e6b9ba8ed9fb4e11da0d3dee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://367686a37502aa91683a883ae7bd94a68defdb82341dfc5e0251c4b5071ef34d\",\"dweb:/ipfs/QmWAH4Me6YszGrdsmPFLWxpTX1z2LMcYT8nHjxVKN7uTey\"]},\"contracts/interfaces/ITaskModule.sol\":{\"keccak256\":\"0xd537257852c23ce7d0bc392b03aba1efd750be372d64a01edf1c726ef7c4274d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://279804efd2c93f8e5282947429deb438776b39f9f6426bb88b17206aa98df131\",\"dweb:/ipfs/QmWKTJ7xtrRENJPFZL4MzxiegB7h9cMPjqawggpYVk5sw9\"]},\"contracts/libraries/LibBypassModule.sol\":{\"keccak256\":\"0xb6c9143d267faf8faa834fa772098fd79b1b62eb626c816e66a0866540d2adea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acec55f0e87d688a5894202f44164b556c0033987d6464f345c35ff8038d0b7d\",\"dweb:/ipfs/QmQemAT8Af2v3YCThQnSmcvq7e9MvJhCpJuqdc49xFuRVv\"]},\"contracts/libraries/LibDataTypes.sol\":{\"keccak256\":\"0x7307461a03c5bb31eef8b01b029fd898d45a495349498466c6238a6474c4edc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8e5eca0478c8791dbbbfbf552500f8f0bcc4ed2a2cc25e340f4a89aa5b8c494\",\"dweb:/ipfs/QmWjxFPFEQ7sSxws31S5hNNoUDiPJCZFFxWeTsXMyn2xA8\"]},\"contracts/libraries/LibEvents.sol\":{\"keccak256\":\"0x0842beedaddcfe70d7a17591e387e2e6dbad8e62530202d66978ebfd97445349\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91635b74a7537f5dc805fc88a1789fe872fa9753b3697fccf9f99f0eceddaf56\",\"dweb:/ipfs/QmYbBJNcqkuGrN81LvUdsyXzWboy5xiYc6km2o4PsqMyJ7\"]},\"contracts/libraries/LibTaskId.sol\":{\"keccak256\":\"0xf4ac05463cdeac121b21724ea65d563caebbc4c2eb8b4ca39f6391639a1f794e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://433533777fb9151ab3556242424b5a377b4aac729990cdee7730e8ce498c3b15\",\"dweb:/ipfs/QmcoaoxNJMdNq3Q3TWkYKXuW3hVtpsd9WprKwqoFBFzVJR\"]},\"contracts/libraries/LibTaskModule.sol\":{\"keccak256\":\"0x84e6a981700f6a9e60f54e9b6e7dc70cac1f6b8b57bb1aabf9ef819ded0e7bda\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74bb2115ef1e63f5f7f09613c01f26d19e08cacfdffde65641ab727dd0efe18f\",\"dweb:/ipfs/QmYhNuCWTKKYSuUJABKDLpNki49JkYVJvjDonxae3Au3Pr\"]},\"contracts/libraries/LibTaskModuleConfig.sol\":{\"keccak256\":\"0x71520494c231850933897b878f4e719a8f8177f0b3d33a356184b8c426c4442a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dea24e4e58470b66f21f4f29c68d5d6cb59967541d668791d64af328be903518\",\"dweb:/ipfs/QmdLPX25mEWGLK5xZLzhVeeCEZUYaLm4WTS7aPvdtjmegD\"]},\"contracts/vendor/gelato/GelatoBytes.sol\":{\"keccak256\":\"0x6ec59b2c6f678f3bbe186677e5970e59e46a40d22881dc813c49ffb18e417951\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://093f26ef7aefbf1c3c01212d52c5dca1fc971d44becc8104fc5c81f6d69ab75b\",\"dweb:/ipfs/QmVNPYJ5SJ7kGjzN3bv24rQgpwtsYSGxkuR1YEXK8vzYHP\"]},\"contracts/vendor/gelato/Gelatofied.sol\":{\"keccak256\":\"0x61ed0699b2adf55087ddccc22c2ac91cffb92048af40a491ef5b6ac798c60cc1\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://02bedb757012934e55913fa5808a71dbc563b95201822edc770c29735784c973\",\"dweb:/ipfs/QmSK7Xw8AFWD638SqLUoq38XEGvBUvV9JgnkRueTSWHDes\"]},\"contracts/vendor/proxy/EIP173/Proxied.sol\":{\"keccak256\":\"0x428ced1961d42c505a3e49d90498f92f4b0df8537e5ffa59f14ba375d99150a1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bdaf6158f4b6b54670691ff09e74698559684245fcae6c68657a52ef4b1cc88b\",\"dweb:/ipfs/QmcWDmV1JCBNgrzsJkE5GnfVSyKKaoVE6AbQFeDaXjV9Nh\"]}},\"version\":1}",
    "zk_version": "1.3.7"
  },
  "bytecode": "[encoded data, 122562 characters]",
  "deployedBytecode": "[encoded data, 122562 characters]",
  "devdoc": {
    "kind": "dev",
    "methods": {
      "cancelTask(bytes32)": {
        "params": {
          "taskId": "Unique hash of the task that is being cancelled. {See LibTaskId-getTaskId}"
        }
      },
      "createTask(address,bytes,(uint8[],bytes[]),address)": {
        "params": {
          "execAddress": "Address of contract that should be called by Gelato.",
          "execData": "Execution data to be called with / function selector if execution data is yet to be determined.",
          "feeToken": "Address of token to be used as payment. Use address(0) if Gelato 1Balance is being used, 0xeeeeee... for ETH or native tokens.",
          "moduleData": "Conditional modules that will be used. {See LibDataTypes-ModuleData}"
        },
        "returns": {
          "taskId": "Unique hash of the task created."
        }
      },
      "exec(address,address,bytes,(uint8[],bytes[]),uint256,address,bool)": {
        "params": {
          "execAddress": "Address of contract that should be called by Gelato.",
          "execData": "Execution data to be called with / function selector if execution data is yet to be determined.",
          "feeToken": "Token used to pay for the execution. ETH = 0xeeeeee...",
          "moduleData": "Conditional modules that will be used. {See LibDataTypes-ModuleData}",
          "revertOnFailure": "To revert or not if call to execAddress fails. (Used for off-chain simulations)",
          "taskCreator": "The address which created the task.",
          "txFee": "Fee paid to Gelato for execution, transfered to Gelato.feeCollector()."
        }
      },
      "exec1Balance(address,address,bytes,(uint8[],bytes[]),(address,address,uint256,uint256,uint256,bytes32),bool)": {
        "params": {
          "execAddress": "Address of contract that should be called by Gelato.",
          "execData": "Execution data to be called with / function selector if execution data is yet to be determined.",
          "moduleData": "Conditional modules that will be used. {See LibDataTypes-ModuleData}",
          "oneBalanceParam": "Parameters required for fee payment with Gelato 1Balance.",
          "revertOnFailure": "To revert or not if call to execAddress fails. (Used for off-chain simulations)",
          "taskCreator": "The address which created the task."
        }
      },
      "execBypassModule(address,address,bytes32,bytes32,bytes,bool,bool)": {
        "params": {
          "correlationId": "Id of the execution to be used for 1Balance settlement.",
          "execAddress": "Address of contract that should be called by Gelato.",
          "execData": "Execution data to be called with / function selector if execution data is yet to be determined.",
          "revertOnFailure": "To revert or not if call to execAddress fails. (Used for off-chain simulations)",
          "singleExec": "If the task is a SingleExec task. If true, task will be cancelled after execution.",
          "taskCreator": "The address which created the task.",
          "taskId": "Unique hash of the task."
        }
      },
      "getFeeDetails()": {
        "returns": {
          "_0": "uint256 Fee amount to be paid.",
          "_1": "address Token to be paid. (Determined and passed by taskCreator during createTask)"
        }
      },
      "getTaskId(address,address,bytes4,(uint8[],bytes[]),address)": {
        "params": {
          "execAddress": "Address of contract that will be called by Gelato.",
          "execSelector": "Signature of the function which will be called by Gelato.",
          "feeToken": "Address of token to be used as payment. Use address(0) if Gelato 1Balance is being used, 0xeeeeee... for ETH or native tokens.",
          "moduleData": "Conditional modules that will be used. {See LibDataTypes-ModuleData}",
          "taskCreator": "The address which created the task."
        }
      },
      "getTaskIdsByUser(address)": {
        "params": {
          "taskCreator": "Address of task creator to query."
        },
        "returns": {
          "_0": "bytes32[] List of taskIds created."
        }
      },
      "setModule(uint8[],address[])": {
        "params": {
          "moduleAddresses": "List of addresses for respective modules.",
          "modules": "List of modules to be set"
        }
      }
    },
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {
      "cancelTask(bytes32)": {
        "notice": "Terminates a task that was created and Gelato can no longer execute it."
      },
      "createTask(address,bytes,(uint8[],bytes[]),address)": {
        "notice": "Initiates a task with conditions which Gelato will monitor and execute when conditions are met."
      },
      "exec(address,address,bytes,(uint8[],bytes[]),uint256,address,bool)": {
        "notice": "Execution API called by Gelato, using Sync Fee as fee payment method"
      },
      "exec1Balance(address,address,bytes,(uint8[],bytes[]),(address,address,uint256,uint256,uint256,bytes32),bool)": {
        "notice": "Execution API called by Gelato, using Gelato 1Balance as fee payment method."
      },
      "execBypassModule(address,address,bytes32,bytes32,bytes,bool,bool)": {
        "notice": "Execution API called by Gelato, using Gelato 1Balance as fee payment method."
      },
      "getFeeDetails()": {
        "notice": "Helper function to query fee and feeToken to be used for payment. (For executions which pays itself)"
      },
      "getTaskId(address,address,bytes4,(uint8[],bytes[]),address)": {
        "notice": "Helper function to compute task id with module arguments"
      },
      "getTaskIdsByUser(address)": {
        "notice": "Helper func to query all open tasks by a task creator."
      },
      "setModule(uint8[],address[])": {
        "notice": "Sets the address of task modules. Only callable by proxy admin."
      }
    },
    "notice": "Automate enables everyone to have Gelato monitor and execute transactions.ExecAddress refers to the contract that has the function which Gelato will call.Modules allow users to customise conditions and specifications when creating a task.",
    "version": 1
  },
  "storageLayout": {
    "storage": [
      {
        "astId": 2144,
        "contract": "contracts/Automate.sol:Automate",
        "label": "taskCreator",
        "offset": 0,
        "slot": "0",
        "type": "t_mapping(t_bytes32,t_address)"
      },
      {
        "astId": 2149,
        "contract": "contracts/Automate.sol:Automate",
        "label": "execAddresses",
        "offset": 0,
        "slot": "1",
        "type": "t_mapping(t_bytes32,t_address)"
      },
      {
        "astId": 2155,
        "contract": "contracts/Automate.sol:Automate",
        "label": "_createdTasks",
        "offset": 0,
        "slot": "2",
        "type": "t_mapping(t_address,t_struct(Bytes32Set)1120_storage)"
      },
      {
        "astId": 2157,
        "contract": "contracts/Automate.sol:Automate",
        "label": "fee",
        "offset": 0,
        "slot": "3",
        "type": "t_uint256"
      },
      {
        "astId": 2159,
        "contract": "contracts/Automate.sol:Automate",
        "label": "feeToken",
        "offset": 0,
        "slot": "4",
        "type": "t_address"
      },
      {
        "astId": 2165,
        "contract": "contracts/Automate.sol:Automate",
        "label": "timedTask",
        "offset": 0,
        "slot": "5",
        "type": "t_mapping(t_bytes32,t_struct(Time)5155_storage)"
      },
      {
        "astId": 2171,
        "contract": "contracts/Automate.sol:Automate",
        "label": "taskModuleAddresses",
        "offset": 0,
        "slot": "6",
        "type": "t_mapping(t_enum(Module)5142,t_address)"
      },
      {
        "astId": 2175,
        "contract": "contracts/Automate.sol:Automate",
        "label": "nonce1Balance",
        "offset": 0,
        "slot": "7",
        "type": "t_mapping(t_bytes32,t_uint256)"
      }
    ],
    "types": {
      "t_address": {
        "encoding": "inplace",
        "label": "address",
        "numberOfBytes": "20"
      },
      "t_array(t_bytes32)dyn_storage": {
        "base": "t_bytes32",
        "encoding": "dynamic_array",
        "label": "bytes32[]",
        "numberOfBytes": "32"
      },
      "t_bytes32": {
        "encoding": "inplace",
        "label": "bytes32",
        "numberOfBytes": "32"
      },
      "t_enum(Module)5142": {
        "encoding": "inplace",
        "label": "enum LibDataTypes.Module",
        "numberOfBytes": "1"
      },
      "t_mapping(t_address,t_struct(Bytes32Set)1120_storage)": {
        "encoding": "mapping",
        "key": "t_address",
        "label": "mapping(address => struct EnumerableSet.Bytes32Set)",
        "numberOfBytes": "32",
        "value": "t_struct(Bytes32Set)1120_storage"
      },
      "t_mapping(t_bytes32,t_address)": {
        "encoding": "mapping",
        "key": "t_bytes32",
        "label": "mapping(bytes32 => address)",
        "numberOfBytes": "32",
        "value": "t_address"
      },
      "t_mapping(t_bytes32,t_struct(Time)5155_storage)": {
        "encoding": "mapping",
        "key": "t_bytes32",
        "label": "mapping(bytes32 => struct LibDataTypes.Time)",
        "numberOfBytes": "32",
        "value": "t_struct(Time)5155_storage"
      },
      "t_mapping(t_bytes32,t_uint256)": {
        "encoding": "mapping",
        "key": "t_bytes32",
        "label": "mapping(bytes32 => uint256)",
        "numberOfBytes": "32",
        "value": "t_uint256"
      },
      "t_mapping(t_enum(Module)5142,t_address)": {
        "encoding": "mapping",
        "key": "t_enum(Module)5142",
        "label": "mapping(enum LibDataTypes.Module => address)",
        "numberOfBytes": "32",
        "value": "t_address"
      },
      "t_struct(Bytes32Set)1120_storage": {
        "encoding": "inplace",
        "label": "struct EnumerableSet.Bytes32Set",
        "members": [
          {
            "astId": 1119,
            "contract": "contracts/Automate.sol:Automate",
            "label": "_inner",
            "offset": 0,
            "slot": "0",
            "type": "t_struct(Set)926_storage"
          }
        ],
        "numberOfBytes": "64"
      },
      "t_struct(Set)926_storage": {
        "encoding": "inplace",
        "label": "struct EnumerableSet.Set",
        "members": [
          {
            "astId": 921,
            "contract": "contracts/Automate.sol:Automate",
            "label": "_values",
            "offset": 0,
            "slot": "0",
            "type": "t_array(t_bytes32)dyn_storage"
          },
          {
            "astId": 925,
            "contract": "contracts/Automate.sol:Automate",
            "label": "_indexes",
            "offset": 0,
            "slot": "1",
            "type": "t_mapping(t_bytes32,t_uint256)"
          }
        ],
        "numberOfBytes": "64"
      },
      "t_struct(Time)5155_storage": {
        "encoding": "inplace",
        "label": "struct LibDataTypes.Time",
        "members": [
          {
            "astId": 5152,
            "contract": "contracts/Automate.sol:Automate",
            "label": "nextExec",
            "offset": 0,
            "slot": "0",
            "type": "t_uint128"
          },
          {
            "astId": 5154,
            "contract": "contracts/Automate.sol:Automate",
            "label": "interval",
            "offset": 16,
            "slot": "0",
            "type": "t_uint128"
          }
        ],
        "numberOfBytes": "32"
      },
      "t_uint128": {
        "encoding": "inplace",
        "label": "uint128",
        "numberOfBytes": "16"
      },
      "t_uint256": {
        "encoding": "inplace",
        "label": "uint256",
        "numberOfBytes": "32"
      }
    }
  }
}
