{
  "contractName": "DatasetRegistryInterface",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "datasetOwner",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "dataset",
          "type": "address"
        }
      ],
      "name": "CreateDataset",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_entry",
          "type": "address"
        }
      ],
      "name": "isRegistered",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_index",
          "type": "uint256"
        }
      ],
      "name": "viewEntry",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "viewCount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_datasetOwner",
          "type": "address"
        },
        {
          "internalType": "string",
          "name": "_datasetName",
          "type": "string"
        },
        {
          "internalType": "bytes",
          "name": "_datasetMultiaddr",
          "type": "bytes"
        },
        {
          "internalType": "bytes32",
          "name": "_datasetChecksum",
          "type": "bytes32"
        }
      ],
      "name": "createDataset",
      "outputs": [
        {
          "internalType": "contract DatasetInterface",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"datasetOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"dataset\",\"type\":\"address\"}],\"name\":\"CreateDataset\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_datasetOwner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_datasetName\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"_datasetMultiaddr\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_datasetChecksum\",\"type\":\"bytes32\"}],\"name\":\"createDataset\",\"outputs\":[{\"internalType\":\"contract DatasetInterface\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_entry\",\"type\":\"address\"}],\"name\":\"isRegistered\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"viewCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"viewEntry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@iexec/interface/contracts/IexecRegistries.sol\":\"DatasetRegistryInterface\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@iexec/interface/contracts/IexecRegistries.sol\":{\"keccak256\":\"0xb39eef47d62d8751c5adfeaf169ce57b50c480788be8356289bc28b78bc24fde\",\"urls\":[\"bzz-raw://a86593f1ef9953ac0965aab4e764374580a899a7f7871ad66b432523171063a1\",\"dweb:/ipfs/QmcYZhHD45APoS1Ebi416DhXU3fiCzoFW2WSMux4AxhFqk\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "immutableReferences": {},
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "pragma solidity >0.5.0 <0.7.0;\n\n\ninterface AppInterface\n{\n\tfunction owner()          external view returns (address);\n\tfunction m_appName()      external view returns (string memory);\n\tfunction m_appType()      external view returns (string memory);\n\tfunction m_appMultiaddr() external view returns (bytes  memory);\n\tfunction m_appChecksum()  external view returns (bytes32);\n\tfunction m_appMREnclave() external view returns (bytes  memory);\n}\n\ninterface DatasetInterface\n{\n\tfunction owner()              external view returns (address);\n\tfunction m_datasetName()      external view returns (string memory);\n\tfunction m_datasetMultiaddr() external view returns (bytes  memory);\n\tfunction m_datasetChecksum()  external view returns (bytes32);\n}\n\ninterface WorkerpoolInterface\n{\n\tevent PolicyUpdate(\n\t\tuint256 oldWorkerStakeRatioPolicy,\n\t\tuint256 newWorkerStakeRatioPolicy,\n\t\tuint256 oldSchedulerRewardRatioPolicy,\n\t\tuint256 newSchedulerRewardRatioPolicy);\n\n\tfunction owner()                        external view returns (address);\n\tfunction m_workerpoolDescription()      external view returns (string memory);\n\tfunction m_workerStakeRatioPolicy()     external view returns (uint256);\n\tfunction m_schedulerRewardRatioPolicy() external view returns (uint256);\n\n\tfunction changePolicy(\n\t\tuint256 _newWorkerStakeRatioPolicy,\n\t\tuint256 _newSchedulerRewardRatioPolicy)\n\texternal;\n}\n\ninterface AppRegistryInterface\n{\n\tevent CreateApp(address indexed appOwner, address app);\n\n\tfunction isRegistered(address _entry                ) external view returns (bool);\n\tfunction viewEntry   (address _owner, uint256 _index) external view returns (address);\n\tfunction viewCount   (address _owner                ) external view returns (uint256);\n\n\tfunction createApp(\n\t\taddress          _appOwner,\n\t\tstring  calldata _appName,\n\t\tstring  calldata _appType,\n\t\tbytes   calldata _appMultiaddr,\n\t\tbytes32          _appChecksum,\n\t\tbytes   calldata _appMREnclave)\n\texternal returns (AppInterface);\n}\n\ninterface DatasetRegistryInterface\n{\n\tevent CreateDataset(address indexed datasetOwner, address dataset);\n\n\tfunction isRegistered(address _entry                ) external view returns (bool);\n\tfunction viewEntry   (address _owner, uint256 _index) external view returns (address);\n\tfunction viewCount   (address _owner                ) external view returns (uint256);\n\n\tfunction createDataset(\n\t\taddress          _datasetOwner,\n\t\tstring  calldata _datasetName,\n\t\tbytes   calldata _datasetMultiaddr,\n\t\tbytes32          _datasetChecksum)\n\texternal returns (DatasetInterface);\n}\n\ninterface WorkerpoolRegistryInterface\n{\n\tevent CreateWorkerpool(address indexed workerpoolOwner, address indexed workerpool, string workerpoolDescription);\n\n\tfunction isRegistered(address _entry                ) external view returns (bool);\n\tfunction viewEntry   (address _owner, uint256 _index) external view returns (address);\n\tfunction viewCount   (address _owner                ) external view returns (uint256);\n\n\tfunction createWorkerpool(\n\t\taddress          _workerpoolOwner,\n\t\tstring  calldata _workerpoolDescription)\n\texternal returns (WorkerpoolInterface);\n}\n",
  "sourcePath": "@iexec/interface/contracts/IexecRegistries.sol",
  "ast": {
    "absolutePath": "@iexec/interface/contracts/IexecRegistries.sol",
    "exportedSymbols": {
      "AppInterface": [
        9543
      ],
      "AppRegistryInterface": [
        9649
      ],
      "DatasetInterface": [
        9564
      ],
      "DatasetRegistryInterface": [
        9692
      ],
      "WorkerpoolInterface": [
        9602
      ],
      "WorkerpoolRegistryInterface": [
        9733
      ]
    },
    "id": 9734,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 9512,
        "literals": [
          "solidity",
          ">",
          "0.5",
          ".0",
          "<",
          "0.7",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:30:51"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 9543,
        "linearizedBaseContracts": [
          9543
        ],
        "name": "AppInterface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": null,
            "documentation": null,
            "functionSelector": "8da5cb5b",
            "id": 9517,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "owner",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9513,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "73:2:51"
            },
            "returnParameters": {
              "id": 9516,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9515,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9517,
                  "src": "108:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9514,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "108:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "107:9:51"
            },
            "scope": 9543,
            "src": "59:58:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "358982a3",
            "id": 9522,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_appName",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9518,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "137:2:51"
            },
            "returnParameters": {
              "id": 9521,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9520,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9522,
                  "src": "168:13:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9519,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "168:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "167:15:51"
            },
            "scope": 9543,
            "src": "119:64:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "f8c2ceb3",
            "id": 9527,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_appType",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9523,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "203:2:51"
            },
            "returnParameters": {
              "id": 9526,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9525,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9527,
                  "src": "234:13:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9524,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "234:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "233:15:51"
            },
            "scope": 9543,
            "src": "185:64:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "39e75d45",
            "id": 9532,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_appMultiaddr",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9528,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "274:2:51"
            },
            "returnParameters": {
              "id": 9531,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9530,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9532,
                  "src": "300:13:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 9529,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "300:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "299:15:51"
            },
            "scope": 9543,
            "src": "251:64:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "84aaf12e",
            "id": 9537,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_appChecksum",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9533,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "339:2:51"
            },
            "returnParameters": {
              "id": 9536,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9535,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9537,
                  "src": "366:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9534,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "366:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "365:9:51"
            },
            "scope": 9543,
            "src": "317:58:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "e30d26a8",
            "id": 9542,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_appMREnclave",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9538,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "400:2:51"
            },
            "returnParameters": {
              "id": 9541,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9540,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9542,
                  "src": "426:13:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 9539,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "426:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "425:15:51"
            },
            "scope": 9543,
            "src": "377:64:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 9734,
        "src": "33:410:51"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 9564,
        "linearizedBaseContracts": [
          9564
        ],
        "name": "DatasetInterface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": null,
            "documentation": null,
            "functionSelector": "8da5cb5b",
            "id": 9548,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "owner",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9544,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "489:2:51"
            },
            "returnParameters": {
              "id": 9547,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9546,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9548,
                  "src": "528:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9545,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "528:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "527:9:51"
            },
            "scope": 9564,
            "src": "475:62:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "0847c431",
            "id": 9553,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_datasetName",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9549,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "561:2:51"
            },
            "returnParameters": {
              "id": 9552,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9551,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9553,
                  "src": "592:13:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9550,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "592:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "591:15:51"
            },
            "scope": 9564,
            "src": "539:68:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "a61ca6c5",
            "id": 9558,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_datasetMultiaddr",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9554,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "636:2:51"
            },
            "returnParameters": {
              "id": 9557,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9556,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9558,
                  "src": "662:13:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 9555,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "662:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "661:15:51"
            },
            "scope": 9564,
            "src": "609:68:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "1ba99d7e",
            "id": 9563,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_datasetChecksum",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9559,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "705:2:51"
            },
            "returnParameters": {
              "id": 9562,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9561,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9563,
                  "src": "732:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9560,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "732:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "731:9:51"
            },
            "scope": 9564,
            "src": "679:62:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 9734,
        "src": "445:298:51"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 9602,
        "linearizedBaseContracts": [
          9602
        ],
        "name": "WorkerpoolInterface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 9574,
            "name": "PolicyUpdate",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 9573,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9566,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "oldWorkerStakeRatioPolicy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9574,
                  "src": "800:33:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9565,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "800:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9568,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "newWorkerStakeRatioPolicy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9574,
                  "src": "837:33:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9567,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "837:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9570,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "oldSchedulerRewardRatioPolicy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9574,
                  "src": "874:37:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9569,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "874:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9572,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "newSchedulerRewardRatioPolicy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9574,
                  "src": "915:37:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9571,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "915:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "796:157:51"
            },
            "src": "778:176:51"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "8da5cb5b",
            "id": 9579,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "owner",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9575,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "971:2:51"
            },
            "returnParameters": {
              "id": 9578,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9577,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9579,
                  "src": "1020:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9576,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1020:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1019:9:51"
            },
            "scope": 9602,
            "src": "957:72:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "584feb3a",
            "id": 9584,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_workerpoolDescription",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9580,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1063:2:51"
            },
            "returnParameters": {
              "id": 9583,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9582,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9584,
                  "src": "1094:13:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9581,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1094:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1093:15:51"
            },
            "scope": 9602,
            "src": "1031:78:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "b55e75af",
            "id": 9589,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_workerStakeRatioPolicy",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9585,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1144:2:51"
            },
            "returnParameters": {
              "id": 9588,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9587,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9589,
                  "src": "1174:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9586,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1174:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1173:9:51"
            },
            "scope": 9602,
            "src": "1111:72:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "87639c68",
            "id": 9594,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_schedulerRewardRatioPolicy",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9590,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1222:2:51"
            },
            "returnParameters": {
              "id": 9593,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9592,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9594,
                  "src": "1248:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9591,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1248:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1247:9:51"
            },
            "scope": 9602,
            "src": "1185:72:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "f199413c",
            "id": 9601,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "changePolicy",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9599,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9596,
                  "mutability": "mutable",
                  "name": "_newWorkerStakeRatioPolicy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9601,
                  "src": "1285:34:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9595,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1285:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9598,
                  "mutability": "mutable",
                  "name": "_newSchedulerRewardRatioPolicy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9601,
                  "src": "1323:38:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9597,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1323:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1281:81:51"
            },
            "returnParameters": {
              "id": 9600,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1372:0:51"
            },
            "scope": 9602,
            "src": "1260:113:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 9734,
        "src": "745:630:51"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 9649,
        "linearizedBaseContracts": [
          9649
        ],
        "name": "AppRegistryInterface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 9608,
            "name": "CreateApp",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 9607,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9604,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "appOwner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9608,
                  "src": "1427:24:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9603,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1427:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9606,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "app",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9608,
                  "src": "1453:11:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9605,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1453:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1426:39:51"
            },
            "src": "1411:55:51"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c3c5a547",
            "id": 9615,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isRegistered",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9611,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9610,
                  "mutability": "mutable",
                  "name": "_entry",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9615,
                  "src": "1491:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9609,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1491:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1490:32:51"
            },
            "returnParameters": {
              "id": 9614,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9613,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9615,
                  "src": "1546:4:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 9612,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1546:4:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1545:6:51"
            },
            "scope": 9649,
            "src": "1469:83:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "65a2c104",
            "id": 9624,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "viewEntry",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9620,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9617,
                  "mutability": "mutable",
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9624,
                  "src": "1576:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9616,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1576:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9619,
                  "mutability": "mutable",
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9624,
                  "src": "1592:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9618,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1592:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1575:32:51"
            },
            "returnParameters": {
              "id": 9623,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9622,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9624,
                  "src": "1631:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9621,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1631:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1630:9:51"
            },
            "scope": 9649,
            "src": "1554:86:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c0a8cae2",
            "id": 9631,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "viewCount",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9627,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9626,
                  "mutability": "mutable",
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9631,
                  "src": "1664:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9625,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1664:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1663:32:51"
            },
            "returnParameters": {
              "id": 9630,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9629,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9631,
                  "src": "1719:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9628,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1719:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1718:9:51"
            },
            "scope": 9649,
            "src": "1642:86:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "3f7868ff",
            "id": 9648,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createApp",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9644,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9633,
                  "mutability": "mutable",
                  "name": "_appOwner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9648,
                  "src": "1753:26:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9632,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1753:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9635,
                  "mutability": "mutable",
                  "name": "_appName",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9648,
                  "src": "1783:25:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9634,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1783:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9637,
                  "mutability": "mutable",
                  "name": "_appType",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9648,
                  "src": "1812:25:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9636,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1812:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9639,
                  "mutability": "mutable",
                  "name": "_appMultiaddr",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9648,
                  "src": "1841:30:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 9638,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1841:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9641,
                  "mutability": "mutable",
                  "name": "_appChecksum",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9648,
                  "src": "1875:29:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9640,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1875:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9643,
                  "mutability": "mutable",
                  "name": "_appMREnclave",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9648,
                  "src": "1908:30:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 9642,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1908:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1749:190:51"
            },
            "returnParameters": {
              "id": 9647,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9646,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9648,
                  "src": "1959:12:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_AppInterface_$9543",
                    "typeString": "contract AppInterface"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 9645,
                    "name": "AppInterface",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 9543,
                    "src": "1959:12:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_AppInterface_$9543",
                      "typeString": "contract AppInterface"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1958:14:51"
            },
            "scope": 9649,
            "src": "1731:242:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 9734,
        "src": "1377:598:51"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 9692,
        "linearizedBaseContracts": [
          9692
        ],
        "name": "DatasetRegistryInterface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 9655,
            "name": "CreateDataset",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 9654,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9651,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "datasetOwner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9655,
                  "src": "2035:28:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9650,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2035:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9653,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "dataset",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9655,
                  "src": "2065:15:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9652,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2065:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2034:47:51"
            },
            "src": "2015:67:51"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c3c5a547",
            "id": 9662,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isRegistered",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9658,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9657,
                  "mutability": "mutable",
                  "name": "_entry",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9662,
                  "src": "2107:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9656,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2107:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2106:32:51"
            },
            "returnParameters": {
              "id": 9661,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9660,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9662,
                  "src": "2162:4:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 9659,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2162:4:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2161:6:51"
            },
            "scope": 9692,
            "src": "2085:83:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "65a2c104",
            "id": 9671,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "viewEntry",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9667,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9664,
                  "mutability": "mutable",
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9671,
                  "src": "2192:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9663,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2192:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9666,
                  "mutability": "mutable",
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9671,
                  "src": "2208:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9665,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2208:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2191:32:51"
            },
            "returnParameters": {
              "id": 9670,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9669,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9671,
                  "src": "2247:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9668,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2247:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2246:9:51"
            },
            "scope": 9692,
            "src": "2170:86:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c0a8cae2",
            "id": 9678,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "viewCount",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9674,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9673,
                  "mutability": "mutable",
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9678,
                  "src": "2280:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9672,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2280:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2279:32:51"
            },
            "returnParameters": {
              "id": 9677,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9676,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9678,
                  "src": "2335:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9675,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2335:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2334:9:51"
            },
            "scope": 9692,
            "src": "2258:86:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "3354bcdb",
            "id": 9691,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createDataset",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9687,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9680,
                  "mutability": "mutable",
                  "name": "_datasetOwner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9691,
                  "src": "2373:30:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9679,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2373:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9682,
                  "mutability": "mutable",
                  "name": "_datasetName",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9691,
                  "src": "2407:29:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9681,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2407:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9684,
                  "mutability": "mutable",
                  "name": "_datasetMultiaddr",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9691,
                  "src": "2440:34:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 9683,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2440:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9686,
                  "mutability": "mutable",
                  "name": "_datasetChecksum",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9691,
                  "src": "2478:33:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9685,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2478:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2369:143:51"
            },
            "returnParameters": {
              "id": 9690,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9689,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9691,
                  "src": "2532:16:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DatasetInterface_$9564",
                    "typeString": "contract DatasetInterface"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 9688,
                    "name": "DatasetInterface",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 9564,
                    "src": "2532:16:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DatasetInterface_$9564",
                      "typeString": "contract DatasetInterface"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2531:18:51"
            },
            "scope": 9692,
            "src": "2347:203:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 9734,
        "src": "1977:575:51"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 9733,
        "linearizedBaseContracts": [
          9733
        ],
        "name": "WorkerpoolRegistryInterface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 9700,
            "name": "CreateWorkerpool",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 9699,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9694,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "workerpoolOwner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9700,
                  "src": "2618:31:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9693,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2618:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9696,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "workerpool",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9700,
                  "src": "2651:26:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9695,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2651:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9698,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "workerpoolDescription",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9700,
                  "src": "2679:28:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9697,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2679:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2617:91:51"
            },
            "src": "2595:114:51"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c3c5a547",
            "id": 9707,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isRegistered",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9703,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9702,
                  "mutability": "mutable",
                  "name": "_entry",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9707,
                  "src": "2734:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9701,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2734:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2733:32:51"
            },
            "returnParameters": {
              "id": 9706,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9705,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9707,
                  "src": "2789:4:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 9704,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2789:4:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2788:6:51"
            },
            "scope": 9733,
            "src": "2712:83:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "65a2c104",
            "id": 9716,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "viewEntry",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9712,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9709,
                  "mutability": "mutable",
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9716,
                  "src": "2819:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9708,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2819:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9711,
                  "mutability": "mutable",
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9716,
                  "src": "2835:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9710,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2835:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2818:32:51"
            },
            "returnParameters": {
              "id": 9715,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9714,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9716,
                  "src": "2874:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9713,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2874:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2873:9:51"
            },
            "scope": 9733,
            "src": "2797:86:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c0a8cae2",
            "id": 9723,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "viewCount",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9719,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9718,
                  "mutability": "mutable",
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9723,
                  "src": "2907:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9717,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2907:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2906:32:51"
            },
            "returnParameters": {
              "id": 9722,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9721,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9723,
                  "src": "2962:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9720,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2962:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2961:9:51"
            },
            "scope": 9733,
            "src": "2885:86:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "e40238f4",
            "id": 9732,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createWorkerpool",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9728,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9725,
                  "mutability": "mutable",
                  "name": "_workerpoolOwner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9732,
                  "src": "3003:33:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9724,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3003:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9727,
                  "mutability": "mutable",
                  "name": "_workerpoolDescription",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9732,
                  "src": "3040:39:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9726,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3040:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2999:81:51"
            },
            "returnParameters": {
              "id": 9731,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9730,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9732,
                  "src": "3100:19:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WorkerpoolInterface_$9602",
                    "typeString": "contract WorkerpoolInterface"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 9729,
                    "name": "WorkerpoolInterface",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 9602,
                    "src": "3100:19:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WorkerpoolInterface_$9602",
                      "typeString": "contract WorkerpoolInterface"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3099:21:51"
            },
            "scope": 9733,
            "src": "2974:147:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 9734,
        "src": "2554:569:51"
      }
    ],
    "src": "0:3124:51"
  },
  "legacyAST": {
    "absolutePath": "@iexec/interface/contracts/IexecRegistries.sol",
    "exportedSymbols": {
      "AppInterface": [
        9543
      ],
      "AppRegistryInterface": [
        9649
      ],
      "DatasetInterface": [
        9564
      ],
      "DatasetRegistryInterface": [
        9692
      ],
      "WorkerpoolInterface": [
        9602
      ],
      "WorkerpoolRegistryInterface": [
        9733
      ]
    },
    "id": 9734,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 9512,
        "literals": [
          "solidity",
          ">",
          "0.5",
          ".0",
          "<",
          "0.7",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:30:51"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 9543,
        "linearizedBaseContracts": [
          9543
        ],
        "name": "AppInterface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": null,
            "documentation": null,
            "functionSelector": "8da5cb5b",
            "id": 9517,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "owner",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9513,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "73:2:51"
            },
            "returnParameters": {
              "id": 9516,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9515,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9517,
                  "src": "108:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9514,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "108:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "107:9:51"
            },
            "scope": 9543,
            "src": "59:58:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "358982a3",
            "id": 9522,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_appName",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9518,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "137:2:51"
            },
            "returnParameters": {
              "id": 9521,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9520,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9522,
                  "src": "168:13:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9519,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "168:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "167:15:51"
            },
            "scope": 9543,
            "src": "119:64:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "f8c2ceb3",
            "id": 9527,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_appType",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9523,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "203:2:51"
            },
            "returnParameters": {
              "id": 9526,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9525,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9527,
                  "src": "234:13:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9524,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "234:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "233:15:51"
            },
            "scope": 9543,
            "src": "185:64:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "39e75d45",
            "id": 9532,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_appMultiaddr",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9528,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "274:2:51"
            },
            "returnParameters": {
              "id": 9531,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9530,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9532,
                  "src": "300:13:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 9529,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "300:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "299:15:51"
            },
            "scope": 9543,
            "src": "251:64:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "84aaf12e",
            "id": 9537,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_appChecksum",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9533,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "339:2:51"
            },
            "returnParameters": {
              "id": 9536,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9535,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9537,
                  "src": "366:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9534,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "366:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "365:9:51"
            },
            "scope": 9543,
            "src": "317:58:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "e30d26a8",
            "id": 9542,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_appMREnclave",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9538,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "400:2:51"
            },
            "returnParameters": {
              "id": 9541,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9540,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9542,
                  "src": "426:13:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 9539,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "426:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "425:15:51"
            },
            "scope": 9543,
            "src": "377:64:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 9734,
        "src": "33:410:51"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 9564,
        "linearizedBaseContracts": [
          9564
        ],
        "name": "DatasetInterface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": null,
            "documentation": null,
            "functionSelector": "8da5cb5b",
            "id": 9548,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "owner",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9544,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "489:2:51"
            },
            "returnParameters": {
              "id": 9547,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9546,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9548,
                  "src": "528:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9545,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "528:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "527:9:51"
            },
            "scope": 9564,
            "src": "475:62:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "0847c431",
            "id": 9553,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_datasetName",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9549,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "561:2:51"
            },
            "returnParameters": {
              "id": 9552,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9551,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9553,
                  "src": "592:13:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9550,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "592:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "591:15:51"
            },
            "scope": 9564,
            "src": "539:68:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "a61ca6c5",
            "id": 9558,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_datasetMultiaddr",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9554,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "636:2:51"
            },
            "returnParameters": {
              "id": 9557,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9556,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9558,
                  "src": "662:13:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 9555,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "662:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "661:15:51"
            },
            "scope": 9564,
            "src": "609:68:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "1ba99d7e",
            "id": 9563,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_datasetChecksum",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9559,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "705:2:51"
            },
            "returnParameters": {
              "id": 9562,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9561,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9563,
                  "src": "732:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9560,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "732:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "731:9:51"
            },
            "scope": 9564,
            "src": "679:62:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 9734,
        "src": "445:298:51"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 9602,
        "linearizedBaseContracts": [
          9602
        ],
        "name": "WorkerpoolInterface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 9574,
            "name": "PolicyUpdate",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 9573,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9566,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "oldWorkerStakeRatioPolicy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9574,
                  "src": "800:33:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9565,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "800:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9568,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "newWorkerStakeRatioPolicy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9574,
                  "src": "837:33:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9567,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "837:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9570,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "oldSchedulerRewardRatioPolicy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9574,
                  "src": "874:37:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9569,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "874:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9572,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "newSchedulerRewardRatioPolicy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9574,
                  "src": "915:37:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9571,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "915:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "796:157:51"
            },
            "src": "778:176:51"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "8da5cb5b",
            "id": 9579,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "owner",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9575,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "971:2:51"
            },
            "returnParameters": {
              "id": 9578,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9577,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9579,
                  "src": "1020:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9576,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1020:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1019:9:51"
            },
            "scope": 9602,
            "src": "957:72:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "584feb3a",
            "id": 9584,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_workerpoolDescription",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9580,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1063:2:51"
            },
            "returnParameters": {
              "id": 9583,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9582,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9584,
                  "src": "1094:13:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9581,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1094:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1093:15:51"
            },
            "scope": 9602,
            "src": "1031:78:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "b55e75af",
            "id": 9589,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_workerStakeRatioPolicy",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9585,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1144:2:51"
            },
            "returnParameters": {
              "id": 9588,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9587,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9589,
                  "src": "1174:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9586,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1174:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1173:9:51"
            },
            "scope": 9602,
            "src": "1111:72:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "87639c68",
            "id": 9594,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "m_schedulerRewardRatioPolicy",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9590,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1222:2:51"
            },
            "returnParameters": {
              "id": 9593,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9592,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9594,
                  "src": "1248:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9591,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1248:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1247:9:51"
            },
            "scope": 9602,
            "src": "1185:72:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "f199413c",
            "id": 9601,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "changePolicy",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9599,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9596,
                  "mutability": "mutable",
                  "name": "_newWorkerStakeRatioPolicy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9601,
                  "src": "1285:34:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9595,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1285:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9598,
                  "mutability": "mutable",
                  "name": "_newSchedulerRewardRatioPolicy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9601,
                  "src": "1323:38:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9597,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1323:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1281:81:51"
            },
            "returnParameters": {
              "id": 9600,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1372:0:51"
            },
            "scope": 9602,
            "src": "1260:113:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 9734,
        "src": "745:630:51"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 9649,
        "linearizedBaseContracts": [
          9649
        ],
        "name": "AppRegistryInterface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 9608,
            "name": "CreateApp",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 9607,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9604,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "appOwner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9608,
                  "src": "1427:24:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9603,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1427:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9606,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "app",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9608,
                  "src": "1453:11:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9605,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1453:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1426:39:51"
            },
            "src": "1411:55:51"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c3c5a547",
            "id": 9615,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isRegistered",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9611,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9610,
                  "mutability": "mutable",
                  "name": "_entry",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9615,
                  "src": "1491:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9609,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1491:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1490:32:51"
            },
            "returnParameters": {
              "id": 9614,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9613,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9615,
                  "src": "1546:4:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 9612,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1546:4:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1545:6:51"
            },
            "scope": 9649,
            "src": "1469:83:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "65a2c104",
            "id": 9624,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "viewEntry",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9620,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9617,
                  "mutability": "mutable",
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9624,
                  "src": "1576:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9616,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1576:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9619,
                  "mutability": "mutable",
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9624,
                  "src": "1592:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9618,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1592:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1575:32:51"
            },
            "returnParameters": {
              "id": 9623,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9622,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9624,
                  "src": "1631:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9621,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1631:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1630:9:51"
            },
            "scope": 9649,
            "src": "1554:86:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c0a8cae2",
            "id": 9631,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "viewCount",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9627,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9626,
                  "mutability": "mutable",
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9631,
                  "src": "1664:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9625,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1664:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1663:32:51"
            },
            "returnParameters": {
              "id": 9630,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9629,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9631,
                  "src": "1719:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9628,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1719:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1718:9:51"
            },
            "scope": 9649,
            "src": "1642:86:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "3f7868ff",
            "id": 9648,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createApp",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9644,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9633,
                  "mutability": "mutable",
                  "name": "_appOwner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9648,
                  "src": "1753:26:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9632,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1753:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9635,
                  "mutability": "mutable",
                  "name": "_appName",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9648,
                  "src": "1783:25:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9634,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1783:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9637,
                  "mutability": "mutable",
                  "name": "_appType",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9648,
                  "src": "1812:25:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9636,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1812:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9639,
                  "mutability": "mutable",
                  "name": "_appMultiaddr",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9648,
                  "src": "1841:30:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 9638,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1841:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9641,
                  "mutability": "mutable",
                  "name": "_appChecksum",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9648,
                  "src": "1875:29:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9640,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1875:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9643,
                  "mutability": "mutable",
                  "name": "_appMREnclave",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9648,
                  "src": "1908:30:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 9642,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1908:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1749:190:51"
            },
            "returnParameters": {
              "id": 9647,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9646,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9648,
                  "src": "1959:12:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_AppInterface_$9543",
                    "typeString": "contract AppInterface"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 9645,
                    "name": "AppInterface",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 9543,
                    "src": "1959:12:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_AppInterface_$9543",
                      "typeString": "contract AppInterface"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1958:14:51"
            },
            "scope": 9649,
            "src": "1731:242:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 9734,
        "src": "1377:598:51"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 9692,
        "linearizedBaseContracts": [
          9692
        ],
        "name": "DatasetRegistryInterface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 9655,
            "name": "CreateDataset",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 9654,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9651,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "datasetOwner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9655,
                  "src": "2035:28:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9650,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2035:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9653,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "dataset",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9655,
                  "src": "2065:15:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9652,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2065:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2034:47:51"
            },
            "src": "2015:67:51"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c3c5a547",
            "id": 9662,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isRegistered",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9658,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9657,
                  "mutability": "mutable",
                  "name": "_entry",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9662,
                  "src": "2107:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9656,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2107:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2106:32:51"
            },
            "returnParameters": {
              "id": 9661,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9660,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9662,
                  "src": "2162:4:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 9659,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2162:4:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2161:6:51"
            },
            "scope": 9692,
            "src": "2085:83:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "65a2c104",
            "id": 9671,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "viewEntry",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9667,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9664,
                  "mutability": "mutable",
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9671,
                  "src": "2192:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9663,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2192:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9666,
                  "mutability": "mutable",
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9671,
                  "src": "2208:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9665,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2208:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2191:32:51"
            },
            "returnParameters": {
              "id": 9670,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9669,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9671,
                  "src": "2247:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9668,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2247:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2246:9:51"
            },
            "scope": 9692,
            "src": "2170:86:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c0a8cae2",
            "id": 9678,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "viewCount",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9674,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9673,
                  "mutability": "mutable",
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9678,
                  "src": "2280:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9672,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2280:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2279:32:51"
            },
            "returnParameters": {
              "id": 9677,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9676,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9678,
                  "src": "2335:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9675,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2335:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2334:9:51"
            },
            "scope": 9692,
            "src": "2258:86:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "3354bcdb",
            "id": 9691,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createDataset",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9687,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9680,
                  "mutability": "mutable",
                  "name": "_datasetOwner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9691,
                  "src": "2373:30:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9679,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2373:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9682,
                  "mutability": "mutable",
                  "name": "_datasetName",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9691,
                  "src": "2407:29:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9681,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2407:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9684,
                  "mutability": "mutable",
                  "name": "_datasetMultiaddr",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9691,
                  "src": "2440:34:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 9683,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2440:5:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9686,
                  "mutability": "mutable",
                  "name": "_datasetChecksum",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9691,
                  "src": "2478:33:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 9685,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2478:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2369:143:51"
            },
            "returnParameters": {
              "id": 9690,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9689,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9691,
                  "src": "2532:16:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DatasetInterface_$9564",
                    "typeString": "contract DatasetInterface"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 9688,
                    "name": "DatasetInterface",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 9564,
                    "src": "2532:16:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DatasetInterface_$9564",
                      "typeString": "contract DatasetInterface"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2531:18:51"
            },
            "scope": 9692,
            "src": "2347:203:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 9734,
        "src": "1977:575:51"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 9733,
        "linearizedBaseContracts": [
          9733
        ],
        "name": "WorkerpoolRegistryInterface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 9700,
            "name": "CreateWorkerpool",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 9699,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9694,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "workerpoolOwner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9700,
                  "src": "2618:31:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9693,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2618:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9696,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "workerpool",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9700,
                  "src": "2651:26:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9695,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2651:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9698,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "workerpoolDescription",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9700,
                  "src": "2679:28:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9697,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2679:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2617:91:51"
            },
            "src": "2595:114:51"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c3c5a547",
            "id": 9707,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isRegistered",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9703,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9702,
                  "mutability": "mutable",
                  "name": "_entry",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9707,
                  "src": "2734:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9701,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2734:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2733:32:51"
            },
            "returnParameters": {
              "id": 9706,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9705,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9707,
                  "src": "2789:4:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 9704,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2789:4:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2788:6:51"
            },
            "scope": 9733,
            "src": "2712:83:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "65a2c104",
            "id": 9716,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "viewEntry",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9712,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9709,
                  "mutability": "mutable",
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9716,
                  "src": "2819:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9708,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2819:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9711,
                  "mutability": "mutable",
                  "name": "_index",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9716,
                  "src": "2835:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9710,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2835:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2818:32:51"
            },
            "returnParameters": {
              "id": 9715,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9714,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9716,
                  "src": "2874:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9713,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2874:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2873:9:51"
            },
            "scope": 9733,
            "src": "2797:86:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c0a8cae2",
            "id": 9723,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "viewCount",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9719,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9718,
                  "mutability": "mutable",
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9723,
                  "src": "2907:14:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9717,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2907:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2906:32:51"
            },
            "returnParameters": {
              "id": 9722,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9721,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9723,
                  "src": "2962:7:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 9720,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2962:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2961:9:51"
            },
            "scope": 9733,
            "src": "2885:86:51",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "e40238f4",
            "id": 9732,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createWorkerpool",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 9728,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9725,
                  "mutability": "mutable",
                  "name": "_workerpoolOwner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9732,
                  "src": "3003:33:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 9724,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3003:7:51",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 9727,
                  "mutability": "mutable",
                  "name": "_workerpoolDescription",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9732,
                  "src": "3040:39:51",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 9726,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3040:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2999:81:51"
            },
            "returnParameters": {
              "id": 9731,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 9730,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 9732,
                  "src": "3100:19:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_WorkerpoolInterface_$9602",
                    "typeString": "contract WorkerpoolInterface"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 9729,
                    "name": "WorkerpoolInterface",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 9602,
                    "src": "3100:19:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_WorkerpoolInterface_$9602",
                      "typeString": "contract WorkerpoolInterface"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3099:21:51"
            },
            "scope": 9733,
            "src": "2974:147:51",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 9734,
        "src": "2554:569:51"
      }
    ],
    "src": "0:3124:51"
  },
  "compiler": {
    "name": "solc",
    "version": "0.6.6+commit.6c089d02.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.1.0",
  "updatedAt": "2020-04-21T18:10:34.953Z",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}