Gelato-automations/deployments/mainnet/ConnectGelato.json

1434 lines
98 KiB
JSON

{
"address": "0x25aD59adbe00C2d80c86d01e2E05e1294DA84823",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_id",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"components": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "address",
"name": "userProxy",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "address",
"name": "module",
"type": "address"
}
],
"internalType": "struct Provider",
"name": "provider",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
},
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "inst",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"internalType": "struct Condition[]",
"name": "conditions",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "enum Operation",
"name": "operation",
"type": "uint8"
},
{
"internalType": "enum DataFlow",
"name": "dataFlow",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bool",
"name": "termsOkCheck",
"type": "bool"
}
],
"internalType": "struct Action[]",
"name": "actions",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "selfProviderGasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "selfProviderGasPriceCeil",
"type": "uint256"
}
],
"internalType": "struct Task[]",
"name": "tasks",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "expiryDate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "cycleId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "submissionsLeft",
"type": "uint256"
}
],
"indexed": true,
"internalType": "struct TaskReceipt[]",
"name": "taskReceipt",
"type": "tuple[]"
},
{
"indexed": false,
"internalType": "uint256",
"name": "getId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "setId",
"type": "uint256"
}
],
"name": "LogMultiCancelTasks",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "executor",
"type": "address"
},
{
"components": [
{
"internalType": "address[]",
"name": "conditions",
"type": "address[]"
},
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "enum Operation",
"name": "operation",
"type": "uint8"
},
{
"internalType": "enum DataFlow",
"name": "dataFlow",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bool",
"name": "termsOkCheck",
"type": "bool"
}
],
"internalType": "struct Action[]",
"name": "actions",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "gasPriceCeil",
"type": "uint256"
}
],
"indexed": true,
"internalType": "struct TaskSpec[]",
"name": "taskspecs",
"type": "tuple[]"
},
{
"indexed": true,
"internalType": "address[]",
"name": "modules",
"type": "address[]"
},
{
"indexed": false,
"internalType": "uint256",
"name": "ethToDeposit",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "getId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "setId",
"type": "uint256"
}
],
"name": "LogMultiProvide",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"components": [
{
"internalType": "address[]",
"name": "conditions",
"type": "address[]"
},
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "enum Operation",
"name": "operation",
"type": "uint8"
},
{
"internalType": "enum DataFlow",
"name": "dataFlow",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bool",
"name": "termsOkCheck",
"type": "bool"
}
],
"internalType": "struct Action[]",
"name": "actions",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "gasPriceCeil",
"type": "uint256"
}
],
"indexed": true,
"internalType": "struct TaskSpec[]",
"name": "taskspecs",
"type": "tuple[]"
},
{
"indexed": true,
"internalType": "address[]",
"name": "modules",
"type": "address[]"
},
{
"indexed": false,
"internalType": "uint256",
"name": "ethToWithdraw",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "getId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "setId",
"type": "uint256"
}
],
"name": "LogMultiUnprovide",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "address",
"name": "module",
"type": "address"
}
],
"indexed": true,
"internalType": "struct Provider",
"name": "provider",
"type": "tuple"
},
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "inst",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"internalType": "struct Condition[]",
"name": "conditions",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "enum Operation",
"name": "operation",
"type": "uint8"
},
{
"internalType": "enum DataFlow",
"name": "dataFlow",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bool",
"name": "termsOkCheck",
"type": "bool"
}
],
"internalType": "struct Action[]",
"name": "actions",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "selfProviderGasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "selfProviderGasPriceCeil",
"type": "uint256"
}
],
"indexed": true,
"internalType": "struct Task",
"name": "task",
"type": "tuple"
},
{
"indexed": true,
"internalType": "uint256",
"name": "expiryDate",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "getId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "setId",
"type": "uint256"
}
],
"name": "LogSubmitTask",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "address",
"name": "module",
"type": "address"
}
],
"indexed": true,
"internalType": "struct Provider",
"name": "provider",
"type": "tuple"
},
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "inst",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"internalType": "struct Condition[]",
"name": "conditions",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "enum Operation",
"name": "operation",
"type": "uint8"
},
{
"internalType": "enum DataFlow",
"name": "dataFlow",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bool",
"name": "termsOkCheck",
"type": "bool"
}
],
"internalType": "struct Action[]",
"name": "actions",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "selfProviderGasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "selfProviderGasPriceCeil",
"type": "uint256"
}
],
"indexed": true,
"internalType": "struct Task[]",
"name": "tasks",
"type": "tuple[]"
},
{
"indexed": true,
"internalType": "uint256",
"name": "expiryDate",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "getId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "setId",
"type": "uint256"
}
],
"name": "LogSubmitTaskChain",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "address",
"name": "module",
"type": "address"
}
],
"indexed": true,
"internalType": "struct Provider",
"name": "provider",
"type": "tuple"
},
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "inst",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"internalType": "struct Condition[]",
"name": "conditions",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "enum Operation",
"name": "operation",
"type": "uint8"
},
{
"internalType": "enum DataFlow",
"name": "dataFlow",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bool",
"name": "termsOkCheck",
"type": "bool"
}
],
"internalType": "struct Action[]",
"name": "actions",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "selfProviderGasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "selfProviderGasPriceCeil",
"type": "uint256"
}
],
"indexed": true,
"internalType": "struct Task[]",
"name": "tasks",
"type": "tuple[]"
},
{
"indexed": true,
"internalType": "uint256",
"name": "expiryDate",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "getId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "setId",
"type": "uint256"
}
],
"name": "LogSubmitTaskCycle",
"type": "event"
},
{
"inputs": [],
"name": "connectorID",
"outputs": [
{
"internalType": "uint256",
"name": "_type",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "address",
"name": "userProxy",
"type": "address"
},
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "address",
"name": "module",
"type": "address"
}
],
"internalType": "struct Provider",
"name": "provider",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
},
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "inst",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"internalType": "struct Condition[]",
"name": "conditions",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "enum Operation",
"name": "operation",
"type": "uint8"
},
{
"internalType": "enum DataFlow",
"name": "dataFlow",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bool",
"name": "termsOkCheck",
"type": "bool"
}
],
"internalType": "struct Action[]",
"name": "actions",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "selfProviderGasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "selfProviderGasPriceCeil",
"type": "uint256"
}
],
"internalType": "struct Task[]",
"name": "tasks",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "expiryDate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "cycleId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "submissionsLeft",
"type": "uint256"
}
],
"internalType": "struct TaskReceipt[]",
"name": "_taskReceipts",
"type": "tuple[]"
}
],
"name": "multiCancelTasks",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_executor",
"type": "address"
},
{
"components": [
{
"internalType": "address[]",
"name": "conditions",
"type": "address[]"
},
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "enum Operation",
"name": "operation",
"type": "uint8"
},
{
"internalType": "enum DataFlow",
"name": "dataFlow",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bool",
"name": "termsOkCheck",
"type": "bool"
}
],
"internalType": "struct Action[]",
"name": "actions",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "gasPriceCeil",
"type": "uint256"
}
],
"internalType": "struct TaskSpec[]",
"name": "_taskSpecs",
"type": "tuple[]"
},
{
"internalType": "address[]",
"name": "_modules",
"type": "address[]"
},
{
"internalType": "uint256",
"name": "_ethToDeposit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_getId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_setId",
"type": "uint256"
}
],
"name": "multiProvide",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_withdrawAmount",
"type": "uint256"
},
{
"components": [
{
"internalType": "address[]",
"name": "conditions",
"type": "address[]"
},
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "enum Operation",
"name": "operation",
"type": "uint8"
},
{
"internalType": "enum DataFlow",
"name": "dataFlow",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bool",
"name": "termsOkCheck",
"type": "bool"
}
],
"internalType": "struct Action[]",
"name": "actions",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "gasPriceCeil",
"type": "uint256"
}
],
"internalType": "struct TaskSpec[]",
"name": "_taskSpecs",
"type": "tuple[]"
},
{
"internalType": "address[]",
"name": "_modules",
"type": "address[]"
},
{
"internalType": "uint256",
"name": "_getId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_setId",
"type": "uint256"
}
],
"name": "multiUnprovide",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "address",
"name": "module",
"type": "address"
}
],
"internalType": "struct Provider",
"name": "_provider",
"type": "tuple"
},
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "inst",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"internalType": "struct Condition[]",
"name": "conditions",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "enum Operation",
"name": "operation",
"type": "uint8"
},
{
"internalType": "enum DataFlow",
"name": "dataFlow",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bool",
"name": "termsOkCheck",
"type": "bool"
}
],
"internalType": "struct Action[]",
"name": "actions",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "selfProviderGasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "selfProviderGasPriceCeil",
"type": "uint256"
}
],
"internalType": "struct Task",
"name": "_task",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "_expiryDate",
"type": "uint256"
}
],
"name": "submitTask",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "address",
"name": "module",
"type": "address"
}
],
"internalType": "struct Provider",
"name": "_provider",
"type": "tuple"
},
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "inst",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"internalType": "struct Condition[]",
"name": "conditions",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "enum Operation",
"name": "operation",
"type": "uint8"
},
{
"internalType": "enum DataFlow",
"name": "dataFlow",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bool",
"name": "termsOkCheck",
"type": "bool"
}
],
"internalType": "struct Action[]",
"name": "actions",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "selfProviderGasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "selfProviderGasPriceCeil",
"type": "uint256"
}
],
"internalType": "struct Task[]",
"name": "_tasks",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "_expiryDate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_sumOfRequestedTaskSubmits",
"type": "uint256"
}
],
"name": "submitTaskChain",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "address",
"name": "module",
"type": "address"
}
],
"internalType": "struct Provider",
"name": "_provider",
"type": "tuple"
},
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "inst",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"internalType": "struct Condition[]",
"name": "conditions",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "enum Operation",
"name": "operation",
"type": "uint8"
},
{
"internalType": "enum DataFlow",
"name": "dataFlow",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bool",
"name": "termsOkCheck",
"type": "bool"
}
],
"internalType": "struct Action[]",
"name": "actions",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "selfProviderGasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "selfProviderGasPriceCeil",
"type": "uint256"
}
],
"internalType": "struct Task[]",
"name": "_tasks",
"type": "tuple[]"
},
{
"internalType": "uint256",
"name": "_expiryDate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_cycles",
"type": "uint256"
}
],
"name": "submitTaskCycle",
"outputs": [],
"stateMutability": "payable",
"type": "function"
}
],
"transactionHash": "0xb291db38b8dc7fc661453c8c1e270fac0a208807292ad42fb06240f83259594e",
"receipt": {
"to": null,
"from": "0x5B753BF02a42bC73B5846dfd16a8F2e082b99a6a",
"contractAddress": "0x25aD59adbe00C2d80c86d01e2E05e1294DA84823",
"transactionIndex": 94,
"gasUsed": "1289004",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"blockHash": "0x23cca093b1f7e994a5b00d135b6d865596936fb9e31a1f939cd863c7030c1ee8",
"transactionHash": "0xb291db38b8dc7fc661453c8c1e270fac0a208807292ad42fb06240f83259594e",
"logs": [],
"blockNumber": 11366874,
"cumulativeGasUsed": "7901309",
"status": 1,
"byzantium": true
},
"args": [62],
"solcInputHash": "32abadde127e3c5f4f727f0b5ec233f4",
"metadata": "{\"compiler\":{\"version\":\"0.7.4+commit.3f05b770\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"userProxy\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"internalType\":\"struct Provider\",\"name\":\"provider\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"inst\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Condition[]\",\"name\":\"conditions\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"enum DataFlow\",\"name\":\"dataFlow\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"termsOkCheck\",\"type\":\"bool\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasPriceCeil\",\"type\":\"uint256\"}],\"internalType\":\"struct Task[]\",\"name\":\"tasks\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"expiryDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cycleId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"submissionsLeft\",\"type\":\"uint256\"}],\"indexed\":true,\"internalType\":\"struct TaskReceipt[]\",\"name\":\"taskReceipt\",\"type\":\"tuple[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"getId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"setId\",\"type\":\"uint256\"}],\"name\":\"LogMultiCancelTasks\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"executor\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"conditions\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"enum DataFlow\",\"name\":\"dataFlow\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"termsOkCheck\",\"type\":\"bool\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"gasPriceCeil\",\"type\":\"uint256\"}],\"indexed\":true,\"internalType\":\"struct TaskSpec[]\",\"name\":\"taskspecs\",\"type\":\"tuple[]\"},{\"indexed\":true,\"internalType\":\"address[]\",\"name\":\"modules\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ethToDeposit\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"getId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"setId\",\"type\":\"uint256\"}],\"name\":\"LogMultiProvide\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address[]\",\"name\":\"conditions\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"enum DataFlow\",\"name\":\"dataFlow\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"termsOkCheck\",\"type\":\"bool\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"gasPriceCeil\",\"type\":\"uint256\"}],\"indexed\":true,\"internalType\":\"struct TaskSpec[]\",\"name\":\"taskspecs\",\"type\":\"tuple[]\"},{\"indexed\":true,\"internalType\":\"address[]\",\"name\":\"modules\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ethToWithdraw\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"getId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"setId\",\"type\":\"uint256\"}],\"name\":\"LogMultiUnprovide\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"indexed\":true,\"internalType\":\"struct Provider\",\"name\":\"provider\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"inst\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Condition[]\",\"name\":\"conditions\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"enum DataFlow\",\"name\":\"dataFlow\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"termsOkCheck\",\"type\":\"bool\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasPriceCeil\",\"type\":\"uint256\"}],\"indexed\":true,\"internalType\":\"struct Task\",\"name\":\"task\",\"type\":\"tuple\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"expiryDate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"getId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"setId\",\"type\":\"uint256\"}],\"name\":\"LogSubmitTask\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"indexed\":true,\"internalType\":\"struct Provider\",\"name\":\"provider\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"inst\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Condition[]\",\"name\":\"conditions\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"enum DataFlow\",\"name\":\"dataFlow\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"termsOkCheck\",\"type\":\"bool\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasPriceCeil\",\"type\":\"uint256\"}],\"indexed\":true,\"internalType\":\"struct Task[]\",\"name\":\"tasks\",\"type\":\"tuple[]\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"expiryDate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"getId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"setId\",\"type\":\"uint256\"}],\"name\":\"LogSubmitTaskChain\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"indexed\":true,\"internalType\":\"struct Provider\",\"name\":\"provider\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"inst\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Condition[]\",\"name\":\"conditions\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"enum DataFlow\",\"name\":\"dataFlow\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"termsOkCheck\",\"type\":\"bool\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasPriceCeil\",\"type\":\"uint256\"}],\"indexed\":true,\"internalType\":\"struct Task[]\",\"name\":\"tasks\",\"type\":\"tuple[]\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"expiryDate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"getId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"setId\",\"type\":\"uint256\"}],\"name\":\"LogSubmitTaskCycle\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"connectorID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_type\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"userProxy\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"internalType\":\"struct Provider\",\"name\":\"provider\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"inst\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Condition[]\",\"name\":\"conditions\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"enum DataFlow\",\"name\":\"dataFlow\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"termsOkCheck\",\"type\":\"bool\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasPriceCeil\",\"type\":\"uint256\"}],\"internalType\":\"struct Task[]\",\"name\":\"tasks\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"expiryDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cycleId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"submissionsLeft\",\"type\":\"uint256\"}],\"internalType\":\"struct TaskReceipt[]\",\"name\":\"_taskReceipts\",\"type\":\"tuple[]\"}],\"name\":\"multiCancelTasks\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_executor\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"conditions\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"enum DataFlow\",\"name\":\"dataFlow\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"termsOkCheck\",\"type\":\"bool\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"gasPriceCeil\",\"type\":\"uint256\"}],\"internalType\":\"struct TaskSpec[]\",\"name\":\"_taskSpecs\",\"type\":\"tuple[]\"},{\"internalType\":\"address[]\",\"name\":\"_modules\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_ethToDeposit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_getId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_setId\",\"type\":\"uint256\"}],\"name\":\"multiProvide\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_withdrawAmount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"conditions\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"enum DataFlow\",\"name\":\"dataFlow\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"termsOkCheck\",\"type\":\"bool\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"gasPriceCeil\",\"type\":\"uint256\"}],\"internalType\":\"struct TaskSpec[]\",\"name\":\"_taskSpecs\",\"type\":\"tuple[]\"},{\"internalType\":\"address[]\",\"name\":\"_modules\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_getId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_setId\",\"type\":\"uint256\"}],\"name\":\"multiUnprovide\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"internalType\":\"struct Provider\",\"name\":\"_provider\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"inst\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Condition[]\",\"name\":\"conditions\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"enum DataFlow\",\"name\":\"dataFlow\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"termsOkCheck\",\"type\":\"bool\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasPriceCeil\",\"type\":\"uint256\"}],\"internalType\":\"struct Task\",\"name\":\"_task\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"_expiryDate\",\"type\":\"uint256\"}],\"name\":\"submitTask\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"internalType\":\"struct Provider\",\"name\":\"_provider\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"inst\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Condition[]\",\"name\":\"conditions\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"enum DataFlow\",\"name\":\"dataFlow\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"termsOkCheck\",\"type\":\"bool\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasPriceCeil\",\"type\":\"uint256\"}],\"internalType\":\"struct Task[]\",\"name\":\"_tasks\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"_expiryDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_sumOfRequestedTaskSubmits\",\"type\":\"uint256\"}],\"name\":\"submitTaskChain\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"internalType\":\"struct Provider\",\"name\":\"_provider\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"inst\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Condition[]\",\"name\":\"conditions\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"enum DataFlow\",\"name\":\"dataFlow\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"termsOkCheck\",\"type\":\"bool\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"selfProviderGasPriceCeil\",\"type\":\"uint256\"}],\"internalType\":\"struct Task[]\",\"name\":\"_tasks\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"_expiryDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_cycles\",\"type\":\"uint256\"}],\"name\":\"submitTaskCycle\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"connectorID()\":{\"details\":\"Connector Details\"},\"multiCancelTasks((uint256,address,(address,address),uint256,((address,bytes)[],(address,bytes,uint8,uint8,uint256,bool)[],uint256,uint256)[],uint256,uint256,uint256)[])\":{\"details\":\"Cancels outstanding Tasks\",\"params\":{\"_taskReceipts\":\"List of Task Receipts to cancel\"}},\"multiProvide(address,(address[],(address,bytes,uint8,uint8,uint256,bool)[],uint256)[],address[],uint256,uint256,uint256)\":{\"details\":\"Enables first time users to pre-fund eth, whitelist an executor & register the ProviderModuleDSA.sol to be able to use Gelato\",\"params\":{\"_ethToDeposit\":\"amount of eth to deposit on Gelato, only for self-providers\",\"_executor\":\"address of single execot node or gelato'S decentralized execution market\",\"_modules\":\"address of ProviderModuleDSA\",\"_taskSpecs\":\"enables external providers to whitelist TaskSpecs on gelato\"}},\"multiUnprovide(uint256,(address[],(address,bytes,uint8,uint8,uint256,bool)[],uint256)[],address[],uint256,uint256)\":{\"details\":\"Withdraws funds from Gelato, de-whitelists TaskSpecs and Provider Modules in one tx\",\"params\":{\"_modules\":\"List of Provider Modules to de-whitelist, default empty []\",\"_taskSpecs\":\"List of Task Specs to de-whitelist, default empty []\",\"_withdrawAmount\":\"Amount of ETH to withdraw from Gelato\"}},\"submitTask((address,address),((address,bytes)[],(address,bytes,uint8,uint8,uint256,bool)[],uint256,uint256),uint256)\":{\"details\":\"Submits a single, one-time task to Gelato\",\"params\":{\"_expiryDate\":\"Default 0, othweise timestamp after which the task expires\",\"_provider\":\"Consists of proxy module address (DSA) and provider address () who will pay for the transaction execution\",\"_task\":\"Task specifying the condition and the action connectors\"}},\"submitTaskChain((address,address),((address,bytes)[],(address,bytes,uint8,uint8,uint256,bool)[],uint256,uint256)[],uint256,uint256)\":{\"details\":\"Submits single or mulitple Task Chains to Gelato\",\"params\":{\"_expiryDate\":\"Default 0, othweise timestamp after which the task expires\",\"_provider\":\"Consists of proxy module address (DSA) and provider address () who will pay for the transaction execution\",\"_sumOfRequestedTaskSubmits\":\"The TOTAL number of Task auto-submits that should have occured once the cycle is complete\",\"_tasks\":\"A sequence of Tasks, can be a single or multiples\"}},\"submitTaskCycle((address,address),((address,bytes)[],(address,bytes,uint8,uint8,uint256,bool)[],uint256,uint256)[],uint256,uint256)\":{\"details\":\"Submits single or mulitple Task Sequences to Gelato\",\"params\":{\"_cycles\":\"How often the Task List should be executed, e.g. 5 times\",\"_expiryDate\":\"Default 0, othweise timestamp after which the task expires\",\"_provider\":\"Consists of proxy module address (DSA) and provider address () who will pay for the transaction execution\",\"_tasks\":\"A sequence of Tasks, can be a single or multiples\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/contracts/connectors/ConnectGelato.sol\":\"ConnectGelato\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/contracts/connectors/ConnectGelato.sol\":{\"content\":\"// SPDX-License-Identifier: UNLICENSED\\n\\npragma solidity 0.7.4;\\npragma experimental ABIEncoderV2;\\n\\n// solhint-disable\\n\\n// Gelato Data Types\\nstruct Provider {\\n address addr; // if msg.sender == provider => self-Provider\\n address module; // e.g. DSA Provider Module\\n}\\n\\nstruct Condition {\\n address inst; // can be AddressZero for self-conditional Actions\\n bytes data; // can be bytes32(0) for self-conditional Actions\\n}\\n\\nenum Operation {Call, Delegatecall}\\n\\nenum DataFlow {None, In, Out, InAndOut}\\n\\nstruct Action {\\n address addr;\\n bytes data;\\n Operation operation;\\n DataFlow dataFlow;\\n uint256 value;\\n bool termsOkCheck;\\n}\\n\\nstruct Task {\\n Condition[] conditions; // optional\\n Action[] actions;\\n uint256 selfProviderGasLimit; // optional: 0 defaults to gelatoMaxGas\\n uint256 selfProviderGasPriceCeil; // optional: 0 defaults to NO_CEIL\\n}\\n\\nstruct TaskReceipt {\\n uint256 id;\\n address userProxy;\\n Provider provider;\\n uint256 index;\\n Task[] tasks;\\n uint256 expiryDate;\\n uint256 cycleId; // auto-filled by GelatoCore. 0 for non-cyclic/chained tasks\\n uint256 submissionsLeft;\\n}\\n\\nstruct TaskSpec {\\n address[] conditions; // Address: optional AddressZero for self-conditional actions\\n Action[] actions;\\n uint256 gasPriceCeil;\\n}\\n\\n// Gelato Interface\\ninterface IGelatoInterface {\\n /**\\n * @dev API to submit a single Task.\\n */\\n function submitTask(\\n Provider calldata _provider,\\n Task calldata _task,\\n uint256 _expiryDate\\n ) external;\\n\\n /**\\n * @dev A Gelato Task Cycle consists of 1 or more Tasks that automatically submit\\n * the next one, after they have been executed, where the total number of tasks can\\n * be only be an even number\\n */\\n function submitTaskCycle(\\n Provider calldata _provider,\\n Task[] calldata _tasks,\\n uint256 _expiryDate,\\n uint256 _cycles\\n ) external;\\n\\n /**\\n * @dev A Gelato Task Chain consists of 1 or more Tasks that automatically submit\\n * the next one, after they have been executed, where the total number of tasks can\\n * be an odd number\\n */\\n function submitTaskChain(\\n Provider calldata _provider,\\n Task[] calldata _tasks,\\n uint256 _expiryDate,\\n uint256 _sumOfRequestedTaskSubmits\\n ) external;\\n\\n /**\\n * @dev Cancel multiple tasks at once\\n */\\n function multiCancelTasks(TaskReceipt[] calldata _taskReceipts) external;\\n\\n /**\\n * @dev Whitelist new executor, TaskSpec(s) and Module(s) in one tx\\n */\\n function multiProvide(\\n address _executor,\\n TaskSpec[] calldata _taskSpecs,\\n address[] calldata _modules\\n ) external payable;\\n\\n /**\\n * @dev De-Whitelist TaskSpec(s), Module(s) and withdraw funds from gelato in one tx\\n */\\n function multiUnprovide(\\n uint256 _withdrawAmount,\\n TaskSpec[] calldata _taskSpecs,\\n address[] calldata _modules\\n ) external;\\n}\\n\\ninterface MemoryInterface {\\n function setUint(uint256 _id, uint256 _val) external;\\n\\n function getUint(uint256 _id) external returns (uint256);\\n}\\n\\nabstract contract Helpers {\\n uint256 internal immutable _id;\\n\\n constructor(uint256 id) {\\n _id = id;\\n }\\n\\n /**\\n * @dev Return Memory Variable Address\\n */\\n function getMemoryAddr() internal pure returns (address) {\\n return 0x8a5419CfC711B2343c17a6ABf4B2bAFaBb06957F; // InstaMemory Address\\n }\\n\\n /**\\n * @dev Set Uint value in InstaMemory Contract.\\n */\\n function setUint(uint256 setId, uint256 val) internal {\\n if (setId != 0) MemoryInterface(getMemoryAddr()).setUint(setId, val);\\n }\\n\\n /**\\n * @dev Get Uint value from InstaMemory Contract.\\n */\\n function getUint(uint256 getId, uint256 val)\\n internal\\n returns (uint256 returnVal)\\n {\\n returnVal = getId == 0\\n ? val\\n : MemoryInterface(getMemoryAddr()).getUint(getId);\\n }\\n\\n /**\\n * @dev Connector Details\\n */\\n function connectorID() public view returns (uint256 _type, uint256 id) {\\n (_type, id) = (1, _id);\\n }\\n}\\n\\ncontract DSMath {\\n function add(uint256 x, uint256 y) internal pure returns (uint256 z) {\\n require((z = x + y) >= x, \\\"math-not-safe\\\");\\n }\\n\\n function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {\\n require((z = x - y) <= x, \\\"sub-overflow\\\");\\n }\\n}\\n\\nabstract contract GelatoHelpers is Helpers, DSMath {\\n /**\\n * @dev Return Gelato Core Address\\n */\\n function getGelatoCoreAddr() internal pure returns (address) {\\n return 0x025030BdAa159f281cAe63873E68313a703725A5; // Gelato Core address\\n }\\n\\n /**\\n * @dev Return Instapp DSA Provider Module Address\\n */\\n function getInstadappProviderModuleAddr() internal pure returns (address) {\\n return 0x0C25452d20cdFeEd2983fa9b9b9Cf4E81D6f2fE2; // ProviderModuleDSA Address\\n }\\n}\\n\\nabstract contract GelatoResolver is GelatoHelpers {\\n event LogMultiProvide(\\n address indexed executor,\\n TaskSpec[] indexed taskspecs,\\n address[] indexed modules,\\n uint256 ethToDeposit,\\n uint256 getId,\\n uint256 setId\\n );\\n\\n event LogSubmitTask(\\n Provider indexed provider,\\n Task indexed task,\\n uint256 indexed expiryDate,\\n uint256 getId,\\n uint256 setId\\n );\\n\\n event LogSubmitTaskCycle(\\n Provider indexed provider,\\n Task[] indexed tasks,\\n uint256 indexed expiryDate,\\n uint256 getId,\\n uint256 setId\\n );\\n\\n event LogSubmitTaskChain(\\n Provider indexed provider,\\n Task[] indexed tasks,\\n uint256 indexed expiryDate,\\n uint256 getId,\\n uint256 setId\\n );\\n\\n event LogMultiUnprovide(\\n TaskSpec[] indexed taskspecs,\\n address[] indexed modules,\\n uint256 ethToWithdraw,\\n uint256 getId,\\n uint256 setId\\n );\\n\\n event LogMultiCancelTasks(\\n TaskReceipt[] indexed taskReceipt,\\n uint256 getId,\\n uint256 setId\\n );\\n\\n // ===== Gelato ENTRY APIs ======\\n\\n /**\\n * @dev Enables first time users to pre-fund eth, whitelist an executor & register the\\n * ProviderModuleDSA.sol to be able to use Gelato\\n * @param _executor address of single execot node or gelato'S decentralized execution market\\n * @param _taskSpecs enables external providers to whitelist TaskSpecs on gelato\\n * @param _modules address of ProviderModuleDSA\\n * @param _ethToDeposit amount of eth to deposit on Gelato, only for self-providers\\n */\\n function multiProvide(\\n address _executor,\\n TaskSpec[] calldata _taskSpecs,\\n address[] calldata _modules,\\n uint256 _ethToDeposit,\\n uint256 _getId,\\n uint256 _setId\\n ) external payable {\\n uint256 ethToDeposit = getUint(_getId, _ethToDeposit);\\n ethToDeposit = ethToDeposit == uint256(-1)\\n ? address(this).balance\\n : ethToDeposit;\\n\\n IGelatoInterface(getGelatoCoreAddr()).multiProvide{value: ethToDeposit}(\\n _executor,\\n _taskSpecs,\\n _modules\\n );\\n\\n setUint(_setId, ethToDeposit);\\n\\n emit LogMultiProvide(\\n _executor,\\n _taskSpecs,\\n _modules,\\n ethToDeposit,\\n _getId,\\n _setId\\n );\\n }\\n\\n /**\\n * @dev Submits a single, one-time task to Gelato\\n * @param _provider Consists of proxy module address (DSA) and provider address ()\\n * who will pay for the transaction execution\\n * @param _task Task specifying the condition and the action connectors\\n * @param _expiryDate Default 0, othweise timestamp after which the task expires\\n */\\n function submitTask(\\n Provider calldata _provider,\\n Task calldata _task,\\n uint256 _expiryDate\\n ) external payable {\\n IGelatoInterface(getGelatoCoreAddr()).submitTask(\\n _provider,\\n _task,\\n _expiryDate\\n );\\n\\n emit LogSubmitTask(_provider, _task, _expiryDate, 0, 0);\\n }\\n\\n /**\\n * @dev Submits single or mulitple Task Sequences to Gelato\\n * @param _provider Consists of proxy module address (DSA) and provider address ()\\n * who will pay for the transaction execution\\n * @param _tasks A sequence of Tasks, can be a single or multiples\\n * @param _expiryDate Default 0, othweise timestamp after which the task expires\\n * @param _cycles How often the Task List should be executed, e.g. 5 times\\n */\\n function submitTaskCycle(\\n Provider calldata _provider,\\n Task[] calldata _tasks,\\n uint256 _expiryDate,\\n uint256 _cycles\\n ) external payable {\\n IGelatoInterface(getGelatoCoreAddr()).submitTaskCycle(\\n _provider,\\n _tasks,\\n _expiryDate,\\n _cycles\\n );\\n\\n emit LogSubmitTaskCycle(_provider, _tasks, _expiryDate, 0, 0);\\n }\\n\\n /**\\n * @dev Submits single or mulitple Task Chains to Gelato\\n * @param _provider Consists of proxy module address (DSA) and provider address ()\\n * who will pay for the transaction execution\\n * @param _tasks A sequence of Tasks, can be a single or multiples\\n * @param _expiryDate Default 0, othweise timestamp after which the task expires\\n * @param _sumOfRequestedTaskSubmits The TOTAL number of Task auto-submits\\n * that should have occured once the cycle is complete\\n */\\n function submitTaskChain(\\n Provider calldata _provider,\\n Task[] calldata _tasks,\\n uint256 _expiryDate,\\n uint256 _sumOfRequestedTaskSubmits\\n ) external payable {\\n IGelatoInterface(getGelatoCoreAddr()).submitTaskChain(\\n _provider,\\n _tasks,\\n _expiryDate,\\n _sumOfRequestedTaskSubmits\\n );\\n\\n emit LogSubmitTaskChain(_provider, _tasks, _expiryDate, 0, 0);\\n }\\n\\n // ===== Gelato EXIT APIs ======\\n\\n /**\\n * @dev Withdraws funds from Gelato, de-whitelists TaskSpecs and Provider Modules\\n * in one tx\\n * @param _withdrawAmount Amount of ETH to withdraw from Gelato\\n * @param _taskSpecs List of Task Specs to de-whitelist, default empty []\\n * @param _modules List of Provider Modules to de-whitelist, default empty []\\n */\\n function multiUnprovide(\\n uint256 _withdrawAmount,\\n TaskSpec[] calldata _taskSpecs,\\n address[] calldata _modules,\\n uint256 _getId,\\n uint256 _setId\\n ) external payable {\\n uint256 withdrawAmount = getUint(_getId, _withdrawAmount);\\n uint256 balanceBefore = address(this).balance;\\n\\n IGelatoInterface(getGelatoCoreAddr()).multiUnprovide(\\n withdrawAmount,\\n _taskSpecs,\\n _modules\\n );\\n\\n uint256 actualWithdrawAmount =\\n sub(address(this).balance, balanceBefore);\\n\\n setUint(_setId, actualWithdrawAmount);\\n\\n emit LogMultiUnprovide(\\n _taskSpecs,\\n _modules,\\n actualWithdrawAmount,\\n _getId,\\n _setId\\n );\\n }\\n\\n /**\\n * @dev Cancels outstanding Tasks\\n * @param _taskReceipts List of Task Receipts to cancel\\n */\\n function multiCancelTasks(TaskReceipt[] calldata _taskReceipts)\\n external\\n payable\\n {\\n IGelatoInterface(getGelatoCoreAddr()).multiCancelTasks(_taskReceipts);\\n\\n emit LogMultiCancelTasks(_taskReceipts, 0, 0);\\n }\\n}\\n\\ncontract ConnectGelato is GelatoResolver {\\n string public name = \\\"ConnectGelato-v2.0\\\";\\n\\n constructor(uint256 _id) Helpers(_id) {}\\n}\\n\",\"keccak256\":\"0xf0f61797ae78abf2eb39d9c7bacefb385dfdfdd10aabd4af918cfbf7f71539b7\",\"license\":\"UNLICENSED\"}},\"version\":1}",
"bytecode": "0x60e0604052601260a0819052710436f6e6e65637447656c61746f2d76322e360741b60c09081526200003591600091906200006f565b503480156200004357600080fd5b50604051620017343803806200173483398101604081905262000066916200011b565b60805262000134565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620000a75760008555620000f2565b82601f10620000c257805160ff1916838001178555620000f2565b82800160010185558215620000f2579182015b82811115620000f2578251825591602001919060010190620000d5565b506200010092915062000104565b5090565b5b8082111562000100576000815560010162000105565b6000602082840312156200012d578081fd5b5051919050565b6080516115e56200014f6000398061066152506115e56000f3fe60806040526004361061007b5760003560e01c80636cd3d8981161004e5780636cd3d898146100e6578063b348e268146100f9578063eb15f7811461010c578063ff92b1a81461012f5761007b565b8063025264901461008057806306fdde03146100955780632738a788146100c05780633e75a9a8146100d3575b600080fd5b61009361008e366004610a31565b610142565b005b3480156100a157600080fd5b506100aa61021f565b6040516100b79190611398565b60405180910390f35b6100936100ce366004610b08565b6102ad565b6100936100e13660046109f1565b6103b8565b6100936100f436600461095c565b610475565b610093610107366004610a31565b61058e565b34801561011857600080fd5b5061012161065c565b6040516100b792919061138a565b61009361013d366004610a95565b610683565b61014a610758565b6001600160a01b0316630252649086868686866040518663ffffffff1660e01b815260040161017d959493929190611411565b600060405180830381600087803b15801561019757600080fd5b505af11580156101ab573d6000803e3d6000fd5b505050508184846040516101c0929190611244565b6040518091039020866040516101d69190611251565b60405180910390207f6e618ca93d8007a3bb048d87cc0e7bf12bddc6ca3e336c153890bc0b6f66e9f660008060405161021092919061138a565b60405180910390a45050505050565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102a55780601f1061027a576101008083540402835291602001916102a5565b820191906000526020600020905b81548152906001019060200180831161028857829003601f168201915b505050505081565b60006102b98389610770565b9050476102c4610758565b6001600160a01b031663b300f752838a8a8a8a6040518663ffffffff1660e01b81526004016102f795949392919061147f565b600060405180830381600087803b15801561031157600080fd5b505af1158015610325573d6000803e3d6000fd5b505050506000610335478361080b565b9050610341848261083d565b8686604051610351929190611123565b604051809103902089896040516103699291906111dd565b60405180910390207fc44585ae385fe053d798d56dc20dc0f0beade803098d105d289637d878fa9c7b8388886040516103a493929190611499565b60405180910390a350505050505050505050565b6103c0610758565b6001600160a01b0316633e75a9a883836040518363ffffffff1660e01b81526004016103ed9291906112b6565b600060405180830381600087803b15801561040757600080fd5b505af115801561041b573d6000803e3d6000fd5b50505050818160405161042f929190611138565b60405180910390207fb42519a7cf5f104a27b62b10dc1e67721be4b68791899606dd15e1b017bd963160008060405161046992919061138a565b60405180910390a25050565b60006104818385610770565b905060001981146104925780610494565b475b905061049e610758565b6001600160a01b0316639aad3798828b8b8b8b8b6040518763ffffffff1660e01b81526004016104d2959493929190611272565b6000604051808303818588803b1580156104eb57600080fd5b505af11580156104ff573d6000803e3d6000fd5b505050505061050e828261083d565b858560405161051e929190611123565b604051809103902088886040516105369291906111dd565b60405180910390208a6001600160a01b03167f1e9ff70996f352b5b70751209e03ae367633703bfc74ccc966b87e70ab57136184878760405161057b93929190611499565b60405180910390a4505050505050505050565b610596610758565b6001600160a01b031663b348e26886868686866040518663ffffffff1660e01b81526004016105c9959493929190611411565b600060405180830381600087803b1580156105e357600080fd5b505af11580156105f7573d6000803e3d6000fd5b5050505081848460405161060c929190611244565b6040518091039020866040516106229190611251565b60405180910390207f9e2ce841f586026d01f4cdb7bcd28c46154ba65e6766033fee248e3690c35a0d60008060405161021092919061138a565b6001907f000000000000000000000000000000000000000000000000000000000000000090565b61068b610758565b6001600160a01b031663ff92b1a88484846040518463ffffffff1660e01b81526004016106ba93929190611446565b600060405180830381600087803b1580156106d457600080fd5b505af11580156106e8573d6000803e3d6000fd5b5050505080826040516106fb9190611266565b6040518091039020846040516107119190611251565b60405180910390207f054a2512b2e1ba381f3ca2abbf5515644385116f44cf8d635382f6df3f41055760008060405161074b92919061138a565b60405180910390a4505050565b73025030bdaa159f281cae63873e68313a703725a590565b60008215610802576107806108af565b6001600160a01b031663a9c70eaa846040518263ffffffff1660e01b81526004016107ab9190611476565b602060405180830381600087803b1580156107c557600080fd5b505af11580156107d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fd9190610af0565b610804565b815b9392505050565b808203828111156108375760405162461bcd60e51b815260040161082e906113eb565b60405180910390fd5b92915050565b81156108ab5761084b6108af565b6001600160a01b03166361e3c94483836040518363ffffffff1660e01b815260040161087892919061138a565b600060405180830381600087803b15801561089257600080fd5b505af11580156108a6573d6000803e3d6000fd5b505050505b5050565b738a5419cfc711b2343c17a6abf4b2bafabb06957f90565b80356001600160a01b03811681146108de57600080fd5b919050565b60008083601f8401126108f4578182fd5b50813567ffffffffffffffff81111561090b578182fd5b602083019150836020808302850101111561092557600080fd5b9250929050565b803580151581146108de57600080fd5b8035600481106108de57600080fd5b600060408284031215610802578081fd5b60008060008060008060008060c0898b031215610977578384fd5b610980896108c7565b9750602089013567ffffffffffffffff8082111561099c578586fd5b6109a88c838d016108e3565b909950975060408b01359150808211156109c0578586fd5b506109cd8b828c016108e3565b999c989b5096999698976060880135976080810135975060a0013595509350505050565b60008060208385031215610a03578182fd5b823567ffffffffffffffff811115610a19578283fd5b610a25858286016108e3565b90969095509350505050565b600080600080600060a08688031215610a48578081fd5b610a52878761094b565b9450604086013567ffffffffffffffff811115610a6d578182fd5b610a79888289016108e3565b9699909850959660608101359660809091013595509350505050565b600080600060808486031215610aa9578283fd5b610ab3858561094b565b9250604084013567ffffffffffffffff811115610ace578283fd5b840160808187031215610adf578283fd5b929592945050506060919091013590565b600060208284031215610b01578081fd5b5051919050565b600080600080600080600060a0888a031215610b22578283fd5b87359650602088013567ffffffffffffffff80821115610b40578485fd5b610b4c8b838c016108e3565b909850965060408a0135915080821115610b64578485fd5b50610b718a828b016108e3565b989b979a5095989597966060870135966080013595509350505050565b6001600160a01b0316815260200190565b1515815260200190565b6000610bb58383610f65565b505060200190565b815260200190565b6001600160a01b03169052565b60008284526020808501945082825b85811015610c0d576001600160a01b03610bfa836108c7565b1687529582019590820190600101610be1565b509495945050505050565b600081815b84811015610c4c576001600160a01b03610c36836108c7565b1686526020958601959190910190600101610c1d565b5093949350505050565b818352602080840193600091908185020181018584845b87811015610d30578284038952610c84828861153c565b60c06001600160a01b03610c97836108c7565b168652610ca6878301836114f7565b8289890152610cb88389018284610f25565b9250505060408083013560028110610cce57898afd5b610cda82890182610f73565b50506060610ce981840161093c565b610cf582890182610f65565b50506080828101359087015260a0610d0e81840161092c565b9250610d1c81880184610f1f565b509986019994505090840190600101610c6d565b5091979650505050505050565b600081815b84811015610c4c57610d54828561153c565b610d6687610d61836108c7565b610b8e565b6020610d74818401846114f7565b610d7f848284610f4f565b93505050604083013560028110610d94578687fd5b610d9e8382610f73565b50606083013560048110610db0578687fd5b610ddd610dcc610dc284860184610ba9565b6080870135610bbd565b610dd860a0870161092c565b610b9f565b99505093909301925050600101610d42565b818352602080840193600091908185020181018584845b87811015610d30578284038952610e1d8288611585565b6060808601610e2c83846114af565b92885290829052608087019189905b80821015610e6257610e5084610d61856108c7565b93508983019250600182019150610e3b565b505050610e71878301836114af565b87830389890152610e83838284610c56565b6040948501359890940197909752505098850198935090840190600101610e06565b818352602080840193600091908185020181018584845b87811015610d30578284038952610edc84610ed7848a61159a565b610faa565b98850198935090840190600101610ebc565b600081815b84811015610c4c57610f0e86610f09848761159a565b611082565b955060209190910190600101610ef3565b15159052565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b6000828285378383015250601f01601f19160190565b60048110610f6f57fe5b9052565b60028110610f6f57fe5b6001600160a01b0380610f8f836108c7565b16835280610f9f602084016108c7565b166020840152505050565b600060808301610fba83846114af565b608086529182905260209160a08087019084830288010183865b8481101561103a57898303609f19018452610fef828761155a565b60406001600160a01b03611002836108c7565b168552611011898301836114f7565b9250818a8701526110258287018483610f25565b968a0196955050509187019150600101610fd4565b5050611048858801886114af565b945092508781038589015261105e818585610c56565b94505050505060408301356040850152606083013560608501528091505092915050565b600061108e82836114af565b8482845b838110156110e6576110a4828661155a565b6001600160a01b036110b5826108c7565b16845260206110c6818301836114f7565b92506110d58287018483610f4f565b955050929092019150600101611092565b50506110f560208601866114af565b93509150611104818484610d3d565b6040868101358252606090960135602082015290940195945050505050565b6000611130828486610c18565b949350505050565b60008184825b858110156111d257611150828861156f565b803584526020611167818601610d618385016108c7565b604061117582828601610f7d565b60808401359082015261118b60a08401846114af565b6111c16111b66111ac6111a2606087018587610eee565b60c0890135610bbd565b60e0880135610bbd565b610100870135610bbd565b97505050930192505060010161113e565b509095945050505050565b60008184825b858110156111d2576111f58288611585565b6111ff81826114af565b61120a868284610c18565b915050602061121b818401846114af565b611226848284610d3d565b604095909501358552505091820194505091909101906001016111e3565b6000611130828486610eee565b600061125d8284610f7d565b50604001919050565b60006108048284611082565b6001600160a01b03861681526060602082018190526000906112979083018688610def565b82810360408401526112aa818587610bd2565b98975050505050505050565b602080825281810183905260009060408084018583028501820187855b8881101561137c57878303603f190184526112ee828b61156f565b610120813585526113008883016108c7565b61130c89870182610bc5565b5061131b878601888401610f7d565b6080828101359086015260a0611333818401846114af565b83838901526113458489018284610ea5565b60c086810135908a015260e080870135908a01526101009586013595909801949094525050509386019350908501906001016112d3565b509098975050505050505050565b918252602082015260400190565b6000602080835283518082850152825b818110156113c4578581018301518582016040015282016113a8565b818111156113d55783604083870101525b50601f01601f1916929092016040019392505050565b6020808252600c908201526b7375622d6f766572666c6f7760a01b604082015260600190565b600061141d8288610f7d565b60a0604083015261143260a083018688610ea5565b606083019490945250608001529392505050565b60006114528286610f7d565b608060408301526114666080830185610faa565b9050826060830152949350505050565b90815260200190565b600086825260606020830152611297606083018688610def565b9283526020830191909152604082015260600190565b6000808335601e198436030181126114c5578283fd5b830160208101925035905067ffffffffffffffff8111156114e557600080fd5b60208102360383131561092557600080fd5b6000808335601e1984360301811261150d578283fd5b830160208101925035905067ffffffffffffffff81111561152d57600080fd5b80360383131561092557600080fd5b6000823560be19833603018112611551578182fd5b90910192915050565b60008235603e19833603018112611551578182fd5b6000823561011e19833603018112611551578182fd5b60008235605e19833603018112611551578182fd5b60008235607e19833603018112611551578182fdfea2646970667358221220ec2900ea5c007d0cd1ae45d460817c7c5963d323d9378ede5729da1d063eb04264736f6c63430007040033",
"deployedBytecode": "0x60806040526004361061007b5760003560e01c80636cd3d8981161004e5780636cd3d898146100e6578063b348e268146100f9578063eb15f7811461010c578063ff92b1a81461012f5761007b565b8063025264901461008057806306fdde03146100955780632738a788146100c05780633e75a9a8146100d3575b600080fd5b61009361008e366004610a31565b610142565b005b3480156100a157600080fd5b506100aa61021f565b6040516100b79190611398565b60405180910390f35b6100936100ce366004610b08565b6102ad565b6100936100e13660046109f1565b6103b8565b6100936100f436600461095c565b610475565b610093610107366004610a31565b61058e565b34801561011857600080fd5b5061012161065c565b6040516100b792919061138a565b61009361013d366004610a95565b610683565b61014a610758565b6001600160a01b0316630252649086868686866040518663ffffffff1660e01b815260040161017d959493929190611411565b600060405180830381600087803b15801561019757600080fd5b505af11580156101ab573d6000803e3d6000fd5b505050508184846040516101c0929190611244565b6040518091039020866040516101d69190611251565b60405180910390207f6e618ca93d8007a3bb048d87cc0e7bf12bddc6ca3e336c153890bc0b6f66e9f660008060405161021092919061138a565b60405180910390a45050505050565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102a55780601f1061027a576101008083540402835291602001916102a5565b820191906000526020600020905b81548152906001019060200180831161028857829003601f168201915b505050505081565b60006102b98389610770565b9050476102c4610758565b6001600160a01b031663b300f752838a8a8a8a6040518663ffffffff1660e01b81526004016102f795949392919061147f565b600060405180830381600087803b15801561031157600080fd5b505af1158015610325573d6000803e3d6000fd5b505050506000610335478361080b565b9050610341848261083d565b8686604051610351929190611123565b604051809103902089896040516103699291906111dd565b60405180910390207fc44585ae385fe053d798d56dc20dc0f0beade803098d105d289637d878fa9c7b8388886040516103a493929190611499565b60405180910390a350505050505050505050565b6103c0610758565b6001600160a01b0316633e75a9a883836040518363ffffffff1660e01b81526004016103ed9291906112b6565b600060405180830381600087803b15801561040757600080fd5b505af115801561041b573d6000803e3d6000fd5b50505050818160405161042f929190611138565b60405180910390207fb42519a7cf5f104a27b62b10dc1e67721be4b68791899606dd15e1b017bd963160008060405161046992919061138a565b60405180910390a25050565b60006104818385610770565b905060001981146104925780610494565b475b905061049e610758565b6001600160a01b0316639aad3798828b8b8b8b8b6040518763ffffffff1660e01b81526004016104d2959493929190611272565b6000604051808303818588803b1580156104eb57600080fd5b505af11580156104ff573d6000803e3d6000fd5b505050505061050e828261083d565b858560405161051e929190611123565b604051809103902088886040516105369291906111dd565b60405180910390208a6001600160a01b03167f1e9ff70996f352b5b70751209e03ae367633703bfc74ccc966b87e70ab57136184878760405161057b93929190611499565b60405180910390a4505050505050505050565b610596610758565b6001600160a01b031663b348e26886868686866040518663ffffffff1660e01b81526004016105c9959493929190611411565b600060405180830381600087803b1580156105e357600080fd5b505af11580156105f7573d6000803e3d6000fd5b5050505081848460405161060c929190611244565b6040518091039020866040516106229190611251565b60405180910390207f9e2ce841f586026d01f4cdb7bcd28c46154ba65e6766033fee248e3690c35a0d60008060405161021092919061138a565b6001907f000000000000000000000000000000000000000000000000000000000000000090565b61068b610758565b6001600160a01b031663ff92b1a88484846040518463ffffffff1660e01b81526004016106ba93929190611446565b600060405180830381600087803b1580156106d457600080fd5b505af11580156106e8573d6000803e3d6000fd5b5050505080826040516106fb9190611266565b6040518091039020846040516107119190611251565b60405180910390207f054a2512b2e1ba381f3ca2abbf5515644385116f44cf8d635382f6df3f41055760008060405161074b92919061138a565b60405180910390a4505050565b73025030bdaa159f281cae63873e68313a703725a590565b60008215610802576107806108af565b6001600160a01b031663a9c70eaa846040518263ffffffff1660e01b81526004016107ab9190611476565b602060405180830381600087803b1580156107c557600080fd5b505af11580156107d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fd9190610af0565b610804565b815b9392505050565b808203828111156108375760405162461bcd60e51b815260040161082e906113eb565b60405180910390fd5b92915050565b81156108ab5761084b6108af565b6001600160a01b03166361e3c94483836040518363ffffffff1660e01b815260040161087892919061138a565b600060405180830381600087803b15801561089257600080fd5b505af11580156108a6573d6000803e3d6000fd5b505050505b5050565b738a5419cfc711b2343c17a6abf4b2bafabb06957f90565b80356001600160a01b03811681146108de57600080fd5b919050565b60008083601f8401126108f4578182fd5b50813567ffffffffffffffff81111561090b578182fd5b602083019150836020808302850101111561092557600080fd5b9250929050565b803580151581146108de57600080fd5b8035600481106108de57600080fd5b600060408284031215610802578081fd5b60008060008060008060008060c0898b031215610977578384fd5b610980896108c7565b9750602089013567ffffffffffffffff8082111561099c578586fd5b6109a88c838d016108e3565b909950975060408b01359150808211156109c0578586fd5b506109cd8b828c016108e3565b999c989b5096999698976060880135976080810135975060a0013595509350505050565b60008060208385031215610a03578182fd5b823567ffffffffffffffff811115610a19578283fd5b610a25858286016108e3565b90969095509350505050565b600080600080600060a08688031215610a48578081fd5b610a52878761094b565b9450604086013567ffffffffffffffff811115610a6d578182fd5b610a79888289016108e3565b9699909850959660608101359660809091013595509350505050565b600080600060808486031215610aa9578283fd5b610ab3858561094b565b9250604084013567ffffffffffffffff811115610ace578283fd5b840160808187031215610adf578283fd5b929592945050506060919091013590565b600060208284031215610b01578081fd5b5051919050565b600080600080600080600060a0888a031215610b22578283fd5b87359650602088013567ffffffffffffffff80821115610b40578485fd5b610b4c8b838c016108e3565b909850965060408a0135915080821115610b64578485fd5b50610b718a828b016108e3565b989b979a5095989597966060870135966080013595509350505050565b6001600160a01b0316815260200190565b1515815260200190565b6000610bb58383610f65565b505060200190565b815260200190565b6001600160a01b03169052565b60008284526020808501945082825b85811015610c0d576001600160a01b03610bfa836108c7565b1687529582019590820190600101610be1565b509495945050505050565b600081815b84811015610c4c576001600160a01b03610c36836108c7565b1686526020958601959190910190600101610c1d565b5093949350505050565b818352602080840193600091908185020181018584845b87811015610d30578284038952610c84828861153c565b60c06001600160a01b03610c97836108c7565b168652610ca6878301836114f7565b8289890152610cb88389018284610f25565b9250505060408083013560028110610cce57898afd5b610cda82890182610f73565b50506060610ce981840161093c565b610cf582890182610f65565b50506080828101359087015260a0610d0e81840161092c565b9250610d1c81880184610f1f565b509986019994505090840190600101610c6d565b5091979650505050505050565b600081815b84811015610c4c57610d54828561153c565b610d6687610d61836108c7565b610b8e565b6020610d74818401846114f7565b610d7f848284610f4f565b93505050604083013560028110610d94578687fd5b610d9e8382610f73565b50606083013560048110610db0578687fd5b610ddd610dcc610dc284860184610ba9565b6080870135610bbd565b610dd860a0870161092c565b610b9f565b99505093909301925050600101610d42565b818352602080840193600091908185020181018584845b87811015610d30578284038952610e1d8288611585565b6060808601610e2c83846114af565b92885290829052608087019189905b80821015610e6257610e5084610d61856108c7565b93508983019250600182019150610e3b565b505050610e71878301836114af565b87830389890152610e83838284610c56565b6040948501359890940197909752505098850198935090840190600101610e06565b818352602080840193600091908185020181018584845b87811015610d30578284038952610edc84610ed7848a61159a565b610faa565b98850198935090840190600101610ebc565b600081815b84811015610c4c57610f0e86610f09848761159a565b611082565b955060209190910190600101610ef3565b15159052565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b6000828285378383015250601f01601f19160190565b60048110610f6f57fe5b9052565b60028110610f6f57fe5b6001600160a01b0380610f8f836108c7565b16835280610f9f602084016108c7565b166020840152505050565b600060808301610fba83846114af565b608086529182905260209160a08087019084830288010183865b8481101561103a57898303609f19018452610fef828761155a565b60406001600160a01b03611002836108c7565b168552611011898301836114f7565b9250818a8701526110258287018483610f25565b968a0196955050509187019150600101610fd4565b5050611048858801886114af565b945092508781038589015261105e818585610c56565b94505050505060408301356040850152606083013560608501528091505092915050565b600061108e82836114af565b8482845b838110156110e6576110a4828661155a565b6001600160a01b036110b5826108c7565b16845260206110c6818301836114f7565b92506110d58287018483610f4f565b955050929092019150600101611092565b50506110f560208601866114af565b93509150611104818484610d3d565b6040868101358252606090960135602082015290940195945050505050565b6000611130828486610c18565b949350505050565b60008184825b858110156111d257611150828861156f565b803584526020611167818601610d618385016108c7565b604061117582828601610f7d565b60808401359082015261118b60a08401846114af565b6111c16111b66111ac6111a2606087018587610eee565b60c0890135610bbd565b60e0880135610bbd565b610100870135610bbd565b97505050930192505060010161113e565b509095945050505050565b60008184825b858110156111d2576111f58288611585565b6111ff81826114af565b61120a868284610c18565b915050602061121b818401846114af565b611226848284610d3d565b604095909501358552505091820194505091909101906001016111e3565b6000611130828486610eee565b600061125d8284610f7d565b50604001919050565b60006108048284611082565b6001600160a01b03861681526060602082018190526000906112979083018688610def565b82810360408401526112aa818587610bd2565b98975050505050505050565b602080825281810183905260009060408084018583028501820187855b8881101561137c57878303603f190184526112ee828b61156f565b610120813585526113008883016108c7565b61130c89870182610bc5565b5061131b878601888401610f7d565b6080828101359086015260a0611333818401846114af565b83838901526113458489018284610ea5565b60c086810135908a015260e080870135908a01526101009586013595909801949094525050509386019350908501906001016112d3565b509098975050505050505050565b918252602082015260400190565b6000602080835283518082850152825b818110156113c4578581018301518582016040015282016113a8565b818111156113d55783604083870101525b50601f01601f1916929092016040019392505050565b6020808252600c908201526b7375622d6f766572666c6f7760a01b604082015260600190565b600061141d8288610f7d565b60a0604083015261143260a083018688610ea5565b606083019490945250608001529392505050565b60006114528286610f7d565b608060408301526114666080830185610faa565b9050826060830152949350505050565b90815260200190565b600086825260606020830152611297606083018688610def565b9283526020830191909152604082015260600190565b6000808335601e198436030181126114c5578283fd5b830160208101925035905067ffffffffffffffff8111156114e557600080fd5b60208102360383131561092557600080fd5b6000808335601e1984360301811261150d578283fd5b830160208101925035905067ffffffffffffffff81111561152d57600080fd5b80360383131561092557600080fd5b6000823560be19833603018112611551578182fd5b90910192915050565b60008235603e19833603018112611551578182fd5b6000823561011e19833603018112611551578182fd5b60008235605e19833603018112611551578182fd5b60008235607e19833603018112611551578182fdfea2646970667358221220ec2900ea5c007d0cd1ae45d460817c7c5963d323d9378ede5729da1d063eb04264736f6c63430007040033",
"devdoc": {
"kind": "dev",
"methods": {
"connectorID()": {
"details": "Connector Details"
},
"multiCancelTasks((uint256,address,(address,address),uint256,((address,bytes)[],(address,bytes,uint8,uint8,uint256,bool)[],uint256,uint256)[],uint256,uint256,uint256)[])": {
"details": "Cancels outstanding Tasks",
"params": {
"_taskReceipts": "List of Task Receipts to cancel"
}
},
"multiProvide(address,(address[],(address,bytes,uint8,uint8,uint256,bool)[],uint256)[],address[],uint256,uint256,uint256)": {
"details": "Enables first time users to pre-fund eth, whitelist an executor & register the ProviderModuleDSA.sol to be able to use Gelato",
"params": {
"_ethToDeposit": "amount of eth to deposit on Gelato, only for self-providers",
"_executor": "address of single execot node or gelato'S decentralized execution market",
"_modules": "address of ProviderModuleDSA",
"_taskSpecs": "enables external providers to whitelist TaskSpecs on gelato"
}
},
"multiUnprovide(uint256,(address[],(address,bytes,uint8,uint8,uint256,bool)[],uint256)[],address[],uint256,uint256)": {
"details": "Withdraws funds from Gelato, de-whitelists TaskSpecs and Provider Modules in one tx",
"params": {
"_modules": "List of Provider Modules to de-whitelist, default empty []",
"_taskSpecs": "List of Task Specs to de-whitelist, default empty []",
"_withdrawAmount": "Amount of ETH to withdraw from Gelato"
}
},
"submitTask((address,address),((address,bytes)[],(address,bytes,uint8,uint8,uint256,bool)[],uint256,uint256),uint256)": {
"details": "Submits a single, one-time task to Gelato",
"params": {
"_expiryDate": "Default 0, othweise timestamp after which the task expires",
"_provider": "Consists of proxy module address (DSA) and provider address () who will pay for the transaction execution",
"_task": "Task specifying the condition and the action connectors"
}
},
"submitTaskChain((address,address),((address,bytes)[],(address,bytes,uint8,uint8,uint256,bool)[],uint256,uint256)[],uint256,uint256)": {
"details": "Submits single or mulitple Task Chains to Gelato",
"params": {
"_expiryDate": "Default 0, othweise timestamp after which the task expires",
"_provider": "Consists of proxy module address (DSA) and provider address () who will pay for the transaction execution",
"_sumOfRequestedTaskSubmits": "The TOTAL number of Task auto-submits that should have occured once the cycle is complete",
"_tasks": "A sequence of Tasks, can be a single or multiples"
}
},
"submitTaskCycle((address,address),((address,bytes)[],(address,bytes,uint8,uint8,uint256,bool)[],uint256,uint256)[],uint256,uint256)": {
"details": "Submits single or mulitple Task Sequences to Gelato",
"params": {
"_cycles": "How often the Task List should be executed, e.g. 5 times",
"_expiryDate": "Default 0, othweise timestamp after which the task expires",
"_provider": "Consists of proxy module address (DSA) and provider address () who will pay for the transaction execution",
"_tasks": "A sequence of Tasks, can be a single or multiples"
}
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
},
"storageLayout": {
"storage": [
{
"astId": 646,
"contract": "contracts/contracts/connectors/ConnectGelato.sol:ConnectGelato",
"label": "name",
"offset": 0,
"slot": "0",
"type": "t_string_storage"
}
],
"types": {
"t_string_storage": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
}
}
}
}