{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "requestId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "payment",
          "type": "uint256"
        },
        {
          "internalType": "bytes4",
          "name": "callbackFunctionId",
          "type": "bytes4"
        },
        {
          "internalType": "uint256",
          "name": "expiration",
          "type": "uint256"
        }
      ],
      "name": "cancelOracleRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address payable[]",
          "name": "receivers",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "amounts",
          "type": "uint256[]"
        }
      ],
      "name": "distributeFunds",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "requestId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "payment",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "callbackAddress",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "callbackFunctionId",
          "type": "bytes4"
        },
        {
          "internalType": "uint256",
          "name": "expiration",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "data",
          "type": "bytes32"
        }
      ],
      "name": "fulfillOracleRequest",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "requestId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "payment",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "callbackAddress",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "callbackFunctionId",
          "type": "bytes4"
        },
        {
          "internalType": "uint256",
          "name": "expiration",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "fulfillOracleRequest2",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getAuthorizedSenders",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getForwarder",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "node",
          "type": "address"
        }
      ],
      "name": "isAuthorizedSender",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "requestPrice",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "serviceAgreementID",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "callbackAddress",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "callbackFunctionId",
          "type": "bytes4"
        },
        {
          "internalType": "uint256",
          "name": "nonce",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "dataVersion",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "oracleRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "ownerTransferAndCall",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "payment",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "specId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "callbackAddress",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "callbackFunctionId",
          "type": "bytes4"
        },
        {
          "internalType": "uint256",
          "name": "nonce",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "dataVersion",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "requestOracleData",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "senders",
          "type": "address[]"
        }
      ],
      "name": "setAuthorizedSenders",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "withdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "withdrawable",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "58": "node_modules/@chainlink/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol",
    "61": "node_modules/@chainlink/contracts/src/v0.8/interfaces/OperatorInterface.sol",
    "62": "node_modules/@chainlink/contracts/src/v0.8/interfaces/OracleInterface.sol"
  },
  "ast": {
    "absolutePath": "node_modules/@chainlink/contracts/src/v0.8/interfaces/OperatorInterface.sol",
    "exportedSymbols": {
      "ChainlinkRequestInterface": [
        26430
      ],
      "OperatorInterface": [
        19801
      ],
      "OracleInterface": [
        26469
      ]
    },
    "id": 19802,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 19721,
        "literals": [
          "solidity",
          "^",
          "0.8",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "32:23:61"
      },
      {
        "absolutePath": "node_modules/@chainlink/contracts/src/v0.8/interfaces/OracleInterface.sol",
        "file": "./OracleInterface.sol",
        "id": 19722,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 19802,
        "sourceUnit": 26470,
        "src": "57:31:61",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "node_modules/@chainlink/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol",
        "file": "./ChainlinkRequestInterface.sol",
        "id": 19723,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 19802,
        "sourceUnit": 26431,
        "src": "89:41:61",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 19724,
              "name": "OracleInterface",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 26469,
              "src": "163:15:61"
            },
            "id": 19725,
            "nodeType": "InheritanceSpecifier",
            "src": "163:15:61"
          },
          {
            "baseName": {
              "id": 19726,
              "name": "ChainlinkRequestInterface",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 26430,
              "src": "180:25:61"
            },
            "id": 19727,
            "nodeType": "InheritanceSpecifier",
            "src": "180:25:61"
          }
        ],
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 19801,
        "linearizedBaseContracts": [
          19801,
          26430,
          26469
        ],
        "name": "OperatorInterface",
        "nameLocation": "142:17:61",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "functionSelector": "6de879d6",
            "id": 19746,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "requestOracleData",
            "nameLocation": "220:17:61",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19744,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19729,
                  "mutability": "mutable",
                  "name": "sender",
                  "nameLocation": "251:6:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19746,
                  "src": "243:14:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 19728,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "243:7:61",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19731,
                  "mutability": "mutable",
                  "name": "payment",
                  "nameLocation": "271:7:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19746,
                  "src": "263:15:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19730,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "263:7:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19733,
                  "mutability": "mutable",
                  "name": "specId",
                  "nameLocation": "292:6:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19746,
                  "src": "284:14:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 19732,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "284:7:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19735,
                  "mutability": "mutable",
                  "name": "callbackAddress",
                  "nameLocation": "312:15:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19746,
                  "src": "304:23:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 19734,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "304:7:61",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19737,
                  "mutability": "mutable",
                  "name": "callbackFunctionId",
                  "nameLocation": "340:18:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19746,
                  "src": "333:25:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 19736,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "333:6:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19739,
                  "mutability": "mutable",
                  "name": "nonce",
                  "nameLocation": "372:5:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19746,
                  "src": "364:13:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19738,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "364:7:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19741,
                  "mutability": "mutable",
                  "name": "dataVersion",
                  "nameLocation": "391:11:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19746,
                  "src": "383:19:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19740,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "383:7:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19743,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "423:4:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19746,
                  "src": "408:19:61",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 19742,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "408:5:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "237:194:61"
            },
            "returnParameters": {
              "id": 19745,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "444:0:61"
            },
            "scope": 19801,
            "src": "211:234:61",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6ae0bc76",
            "id": 19763,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "fulfillOracleRequest2",
            "nameLocation": "458:21:61",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19759,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19748,
                  "mutability": "mutable",
                  "name": "requestId",
                  "nameLocation": "493:9:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19763,
                  "src": "485:17:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 19747,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "485:7:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19750,
                  "mutability": "mutable",
                  "name": "payment",
                  "nameLocation": "516:7:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19763,
                  "src": "508:15:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19749,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "508:7:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19752,
                  "mutability": "mutable",
                  "name": "callbackAddress",
                  "nameLocation": "537:15:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19763,
                  "src": "529:23:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 19751,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "529:7:61",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19754,
                  "mutability": "mutable",
                  "name": "callbackFunctionId",
                  "nameLocation": "565:18:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19763,
                  "src": "558:25:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 19753,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "558:6:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19756,
                  "mutability": "mutable",
                  "name": "expiration",
                  "nameLocation": "597:10:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19763,
                  "src": "589:18:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19755,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "589:7:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19758,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "628:4:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19763,
                  "src": "613:19:61",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 19757,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "613:5:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "479:157:61"
            },
            "returnParameters": {
              "id": 19762,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19761,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 19763,
                  "src": "670:4:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 19760,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "670:4:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "662:18:61"
            },
            "scope": 19801,
            "src": "449:232:61",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "902fc370",
            "id": 19774,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "ownerTransferAndCall",
            "nameLocation": "694:20:61",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19770,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19765,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "728:2:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19774,
                  "src": "720:10:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 19764,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "720:7:61",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19767,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "744:5:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19774,
                  "src": "736:13:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19766,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "736:7:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19769,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "770:4:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19774,
                  "src": "755:19:61",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 19768,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "755:5:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "714:64:61"
            },
            "returnParameters": {
              "id": 19773,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19772,
                  "mutability": "mutable",
                  "name": "success",
                  "nameLocation": "817:7:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19774,
                  "src": "812:12:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 19771,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "812:4:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "804:26:61"
            },
            "scope": 19801,
            "src": "685:146:61",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6bd59ec0",
            "id": 19783,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "distributeFunds",
            "nameLocation": "844:15:61",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19781,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19777,
                  "mutability": "mutable",
                  "name": "receivers",
                  "nameLocation": "892:9:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19783,
                  "src": "865:36:61",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_payable_$dyn_calldata_ptr",
                    "typeString": "address payable[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 19775,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "865:15:61",
                      "stateMutability": "payable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address_payable",
                        "typeString": "address payable"
                      }
                    },
                    "id": 19776,
                    "nodeType": "ArrayTypeName",
                    "src": "865:17:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_payable_$dyn_storage_ptr",
                      "typeString": "address payable[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19780,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nameLocation": "923:7:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19783,
                  "src": "907:23:61",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 19778,
                      "name": "uint",
                      "nodeType": "ElementaryTypeName",
                      "src": "907:4:61",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 19779,
                    "nodeType": "ArrayTypeName",
                    "src": "907:6:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "859:75:61"
            },
            "returnParameters": {
              "id": 19782,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "959:0:61"
            },
            "scope": 19801,
            "src": "835:125:61",
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2408afaa",
            "id": 19789,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getAuthorizedSenders",
            "nameLocation": "973:20:61",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19784,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "993:2:61"
            },
            "returnParameters": {
              "id": 19788,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19787,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 19789,
                  "src": "1029:16:61",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 19785,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1029:7:61",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 19786,
                    "nodeType": "ArrayTypeName",
                    "src": "1029:9:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1021:30:61"
            },
            "scope": 19801,
            "src": "964:88:61",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "ee56997b",
            "id": 19795,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setAuthorizedSenders",
            "nameLocation": "1065:20:61",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19793,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19792,
                  "mutability": "mutable",
                  "name": "senders",
                  "nameLocation": "1110:7:61",
                  "nodeType": "VariableDeclaration",
                  "scope": 19795,
                  "src": "1091:26:61",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 19790,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1091:7:61",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 19791,
                    "nodeType": "ArrayTypeName",
                    "src": "1091:9:61",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1085:36:61"
            },
            "returnParameters": {
              "id": 19794,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1130:0:61"
            },
            "scope": 19801,
            "src": "1056:75:61",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a0042526",
            "id": 19800,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getForwarder",
            "nameLocation": "1144:12:61",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19796,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1156:2:61"
            },
            "returnParameters": {
              "id": 19799,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19798,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 19800,
                  "src": "1192:7:61",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 19797,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1192:7:61",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1184:21:61"
            },
            "scope": 19801,
            "src": "1135:71:61",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 19802,
        "src": "132:1076:61",
        "usedErrors": []
      }
    ],
    "src": "32:1177:61"
  },
  "bytecode": "",
  "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.6+commit.11564f7e"
  },
  "contractName": "OperatorInterface",
  "coverageMap": {
    "branches": {},
    "statements": {}
  },
  "dependencies": [
    "ChainlinkRequestInterface",
    "OracleInterface"
  ],
  "deployedBytecode": "",
  "deployedSourceMap": "",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    132,
    1208
  ],
  "opcodes": "",
  "pcMap": {},
  "sha1": "0ebc9faf033f8f23977c7a315441247dc467b94d",
  "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"./OracleInterface.sol\";\nimport \"./ChainlinkRequestInterface.sol\";\n\ninterface OperatorInterface is OracleInterface, ChainlinkRequestInterface {\n\n  function requestOracleData(\n    address sender,\n    uint256 payment,\n    bytes32 specId,\n    address callbackAddress,\n    bytes4 callbackFunctionId,\n    uint256 nonce,\n    uint256 dataVersion,\n    bytes calldata data\n  )\n    external;\n\n  function fulfillOracleRequest2(\n    bytes32 requestId,\n    uint256 payment,\n    address callbackAddress,\n    bytes4 callbackFunctionId,\n    uint256 expiration,\n    bytes calldata data\n  )\n    external\n    returns (\n      bool\n    );\n\n  function ownerTransferAndCall(\n    address to,\n    uint256 value,\n    bytes calldata data\n  )\n    external\n    returns (\n      bool success\n    );\n\n  function distributeFunds(\n    address payable[] calldata receivers,\n    uint[] calldata amounts\n  )\n    external\n    payable;\n\n  function getAuthorizedSenders()\n    external\n    returns (\n      address[] memory\n    );\n\n  function setAuthorizedSenders(\n    address[] calldata senders\n  ) external;\n\n  function getForwarder()\n    external\n    returns (\n      address\n    );\n}\n",
  "sourceMap": "",
  "sourcePath": "node_modules/@chainlink/contracts/src/v0.8/interfaces/OperatorInterface.sol",
  "type": "interface"
}