{
  "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": "payment",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "specId",
          "type": "bytes32"
        },
        {
          "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": "operatorRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "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": "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": {
    "56": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol",
    "59": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/OperatorInterface.sol",
    "60": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/OracleInterface.sol"
  },
  "ast": {
    "absolutePath": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/OperatorInterface.sol",
    "exportedSymbols": {
      "ChainlinkRequestInterface": [
        25709
      ],
      "OperatorInterface": [
        25964
      ],
      "OracleInterface": [
        28626
      ]
    },
    "id": 25965,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 25886,
        "literals": [
          "solidity",
          "^",
          "0.8",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "32:23:59"
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/OracleInterface.sol",
        "file": "./OracleInterface.sol",
        "id": 25887,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 25965,
        "sourceUnit": 28627,
        "src": "57:31:59",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol",
        "file": "./ChainlinkRequestInterface.sol",
        "id": 25888,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 25965,
        "sourceUnit": 25710,
        "src": "89:41:59",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 25889,
              "name": "OracleInterface",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 28626,
              "src": "163:15:59"
            },
            "id": 25890,
            "nodeType": "InheritanceSpecifier",
            "src": "163:15:59"
          },
          {
            "baseName": {
              "id": 25891,
              "name": "ChainlinkRequestInterface",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 25709,
              "src": "180:25:59"
            },
            "id": 25892,
            "nodeType": "InheritanceSpecifier",
            "src": "180:25:59"
          }
        ],
        "contractDependencies": [
          25709,
          28626
        ],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 25964,
        "linearizedBaseContracts": [
          25964,
          25709,
          28626
        ],
        "name": "OperatorInterface",
        "nameLocation": "142:17:59",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "functionSelector": "3c6d41b9",
            "id": 25909,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "operatorRequest",
            "nameLocation": "219:15:59",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25907,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25894,
                  "mutability": "mutable",
                  "name": "sender",
                  "nameLocation": "248:6:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25909,
                  "src": "240:14:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 25893,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "240:7:59",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25896,
                  "mutability": "mutable",
                  "name": "payment",
                  "nameLocation": "268:7:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25909,
                  "src": "260:15:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 25895,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "260:7:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25898,
                  "mutability": "mutable",
                  "name": "specId",
                  "nameLocation": "289:6:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25909,
                  "src": "281:14:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 25897,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "281:7:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25900,
                  "mutability": "mutable",
                  "name": "callbackFunctionId",
                  "nameLocation": "308:18:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25909,
                  "src": "301:25:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 25899,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "301:6:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25902,
                  "mutability": "mutable",
                  "name": "nonce",
                  "nameLocation": "340:5:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25909,
                  "src": "332:13:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 25901,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "332:7:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25904,
                  "mutability": "mutable",
                  "name": "dataVersion",
                  "nameLocation": "359:11:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25909,
                  "src": "351:19:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 25903,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "351:7:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25906,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "391:4:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25909,
                  "src": "376:19:59",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 25905,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "376:5:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "234:165:59"
            },
            "returnParameters": {
              "id": 25908,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "408:0:59"
            },
            "scope": 25964,
            "src": "210:199:59",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6ae0bc76",
            "id": 25926,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "fulfillOracleRequest2",
            "nameLocation": "422:21:59",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25922,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25911,
                  "mutability": "mutable",
                  "name": "requestId",
                  "nameLocation": "457:9:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25926,
                  "src": "449:17:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 25910,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "449:7:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25913,
                  "mutability": "mutable",
                  "name": "payment",
                  "nameLocation": "480:7:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25926,
                  "src": "472:15:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 25912,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "472:7:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25915,
                  "mutability": "mutable",
                  "name": "callbackAddress",
                  "nameLocation": "501:15:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25926,
                  "src": "493:23:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 25914,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "493:7:59",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25917,
                  "mutability": "mutable",
                  "name": "callbackFunctionId",
                  "nameLocation": "529:18:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25926,
                  "src": "522:25:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 25916,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "522:6:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25919,
                  "mutability": "mutable",
                  "name": "expiration",
                  "nameLocation": "561:10:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25926,
                  "src": "553:18:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 25918,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "553:7:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25921,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "592:4:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25926,
                  "src": "577:19:59",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 25920,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "577:5:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "443:157:59"
            },
            "returnParameters": {
              "id": 25925,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25924,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 25926,
                  "src": "619:4:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 25923,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "619:4:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "618:6:59"
            },
            "scope": 25964,
            "src": "413:212:59",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "902fc370",
            "id": 25937,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "ownerTransferAndCall",
            "nameLocation": "638:20:59",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25933,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25928,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "672:2:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25937,
                  "src": "664:10:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 25927,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "664:7:59",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25930,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "688:5:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25937,
                  "src": "680:13:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 25929,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "680:7:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25932,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "714:4:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25937,
                  "src": "699:19:59",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 25931,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "699:5:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "658:64:59"
            },
            "returnParameters": {
              "id": 25936,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25935,
                  "mutability": "mutable",
                  "name": "success",
                  "nameLocation": "746:7:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25937,
                  "src": "741:12:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 25934,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "741:4:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "740:14:59"
            },
            "scope": 25964,
            "src": "629:126:59",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6bd59ec0",
            "id": 25946,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "distributeFunds",
            "nameLocation": "768:15:59",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25944,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25940,
                  "mutability": "mutable",
                  "name": "receivers",
                  "nameLocation": "811:9:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25946,
                  "src": "784:36:59",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_payable_$dyn_calldata_ptr",
                    "typeString": "address payable[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 25938,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "784:15:59",
                      "stateMutability": "payable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address_payable",
                        "typeString": "address payable"
                      }
                    },
                    "id": 25939,
                    "nodeType": "ArrayTypeName",
                    "src": "784:17:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_payable_$dyn_storage_ptr",
                      "typeString": "address payable[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25943,
                  "mutability": "mutable",
                  "name": "amounts",
                  "nameLocation": "841:7:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25946,
                  "src": "822:26:59",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 25941,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "822:7:59",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 25942,
                    "nodeType": "ArrayTypeName",
                    "src": "822:9:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "783:66:59"
            },
            "returnParameters": {
              "id": 25945,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "866:0:59"
            },
            "scope": 25964,
            "src": "759:108:59",
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2408afaa",
            "id": 25952,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getAuthorizedSenders",
            "nameLocation": "880:20:59",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25947,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "900:2:59"
            },
            "returnParameters": {
              "id": 25951,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25950,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 25952,
                  "src": "921:16:59",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 25948,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "921:7:59",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 25949,
                    "nodeType": "ArrayTypeName",
                    "src": "921:9:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "920:18:59"
            },
            "scope": 25964,
            "src": "871:68:59",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "ee56997b",
            "id": 25958,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setAuthorizedSenders",
            "nameLocation": "952:20:59",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25956,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25955,
                  "mutability": "mutable",
                  "name": "senders",
                  "nameLocation": "992:7:59",
                  "nodeType": "VariableDeclaration",
                  "scope": 25958,
                  "src": "973:26:59",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 25953,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "973:7:59",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 25954,
                    "nodeType": "ArrayTypeName",
                    "src": "973:9:59",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "972:28:59"
            },
            "returnParameters": {
              "id": 25957,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1009:0:59"
            },
            "scope": 25964,
            "src": "943:67:59",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "a0042526",
            "id": 25963,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getForwarder",
            "nameLocation": "1023:12:59",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25959,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1035:2:59"
            },
            "returnParameters": {
              "id": 25962,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25961,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 25963,
                  "src": "1056:7:59",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 25960,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1056:7:59",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1055:9:59"
            },
            "scope": 25964,
            "src": "1014:51:59",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 25965,
        "src": "132:935:59"
      }
    ],
    "src": "32:1036:59"
  },
  "bytecode": "",
  "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "OperatorInterface",
  "coverageMap": {
    "branches": {},
    "statements": {}
  },
  "dependencies": [
    "smartcontractkit/chainlink@1.6.0/ChainlinkRequestInterface",
    "smartcontractkit/chainlink@1.6.0/OracleInterface"
  ],
  "deployedBytecode": "",
  "deployedSourceMap": "",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    132,
    1067
  ],
  "opcodes": "",
  "pcMap": {},
  "sha1": "fd028550a0a87f0d334eaa395d499557098aa4e3",
  "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"./OracleInterface.sol\";\nimport \"./ChainlinkRequestInterface.sol\";\n\ninterface OperatorInterface is OracleInterface, ChainlinkRequestInterface {\n  function operatorRequest(\n    address sender,\n    uint256 payment,\n    bytes32 specId,\n    bytes4 callbackFunctionId,\n    uint256 nonce,\n    uint256 dataVersion,\n    bytes calldata data\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  ) external returns (bool);\n\n  function ownerTransferAndCall(\n    address to,\n    uint256 value,\n    bytes calldata data\n  ) external returns (bool success);\n\n  function distributeFunds(address payable[] calldata receivers, uint256[] calldata amounts) external payable;\n\n  function getAuthorizedSenders() external returns (address[] memory);\n\n  function setAuthorizedSenders(address[] calldata senders) external;\n\n  function getForwarder() external returns (address);\n}\n",
  "sourceMap": "",
  "sourcePath": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/OperatorInterface.sol",
  "type": "interface"
}