{
  "contractName": "IexecLibCore_v5",
  "abi": [],
  "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibCore_v5.sol\":\"IexecLibCore_v5\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibCore_v5.sol\":{\"keccak256\":\"0x2ab8fa750e4d0832afc0b04686e46f020bfe115e5be29b2301f41f97509e2a6f\",\"urls\":[\"bzz-raw://750c1e0aebc8cfd8197561d412d6ae77558362845c3195ac59651139e21bbc7f\",\"dweb:/ipfs/QmPimAbBDdB2Yuw5PuWVQ9qa3BUz4Psrav2Y75Vh3Hmmrr\"]}},\"version\":1}",
  "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220da2d8c0d7c991baff580becdb23095ed0ce3a85d3c22f144b939d236d727c8eb64736f6c63430006060033",
  "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220da2d8c0d7c991baff580becdb23095ed0ce3a85d3c22f144b939d236d727c8eb64736f6c63430006060033",
  "immutableReferences": {},
  "sourceMap": "26:1735:5:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24",
  "deployedSourceMap": "26:1735:5:-:0;;;;;;12:1:-1;9;2:12",
  "source": "pragma solidity ^0.6.0;\n\n\nlibrary IexecLibCore_v5\n{\n\t/**\n\t* Tools\n\t*/\n\tstruct Account\n\t{\n\t\tuint256 stake;\n\t\tuint256 locked;\n\t}\n\tstruct Category\n\t{\n\t\tstring  name;\n\t\tstring  description;\n\t\tuint256 workClockTimeRef;\n\t}\n\n\t/**\n\t * Clerk - Deals\n\t */\n\tstruct Resource\n\t{\n\t\taddress pointer;\n\t\taddress owner;\n\t\tuint256 price;\n\t}\n\tstruct Deal\n\t{\n\t\t// Ressources\n\t\tResource app;\n\t\tResource dataset;\n\t\tResource workerpool;\n\t\tuint256 trust;\n\t\tuint256 category;\n\t\tbytes32 tag;\n\t\t// execution details\n\t\taddress requester;\n\t\taddress beneficiary;\n\t\taddress callback;\n\t\tstring  params;\n\t\t// execution settings\n\t\tuint256 startTime;\n\t\tuint256 botFirst;\n\t\tuint256 botSize;\n\t\t// consistency\n\t\tuint256 workerStake;\n\t\tuint256 schedulerRewardRatio;\n\t}\n\n\t/**\n\t * Tasks\n\t */\n\tenum TaskStatusEnum\n\t{\n\t\tUNSET,     // Work order not yet initialized (invalid address)\n\t\tACTIVE,    // Marketed → constributions are open\n\t\tREVEALING, // Starting consensus reveal\n\t\tCOMPLETED, // Consensus achieved\n\t\tFAILED     // Failed consensus\n\t}\n\tstruct Task\n\t{\n\t\tTaskStatusEnum status;\n\t\tbytes32   dealid;\n\t\tuint256   idx;\n\t\tuint256   timeref;\n\t\tuint256   contributionDeadline;\n\t\tuint256   revealDeadline;\n\t\tuint256   finalDeadline;\n\t\tbytes32   consensusValue;\n\t\tuint256   revealCounter;\n\t\tuint256   winnerCounter;\n\t\taddress[] contributors;\n\t\tbytes32   resultDigest;\n\t\tbytes     results;\n\t\tuint256   resultsTimestamp;\n\t}\n\n\t/**\n\t * Consensus\n\t */\n\tstruct Consensus\n\t{\n\t\tmapping(bytes32 => uint256) group;\n\t\tuint256                     total;\n\t}\n\n\t/**\n\t * Consensus\n\t */\n\tenum ContributionStatusEnum\n\t{\n\t\tUNSET,\n\t\tCONTRIBUTED,\n\t\tPROVED,\n\t\tREJECTED\n\t}\n\tstruct Contribution\n\t{\n\t\tContributionStatusEnum status;\n\t\tbytes32 resultHash;\n\t\tbytes32 resultSeal;\n\t\taddress enclaveChallenge;\n\t\tuint256 weight;\n\t}\n\n}\n",
  "sourcePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibCore_v5.sol",
  "ast": {
    "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibCore_v5.sol",
    "exportedSymbols": {
      "IexecLibCore_v5": [
        380
      ]
    },
    "id": 381,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 270,
        "literals": [
          "solidity",
          "^",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:5"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": null,
        "fullyImplemented": true,
        "id": 380,
        "linearizedBaseContracts": [
          380
        ],
        "name": "IexecLibCore_v5",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "canonicalName": "IexecLibCore_v5.Account",
            "id": 275,
            "members": [
              {
                "constant": false,
                "id": 272,
                "mutability": "mutable",
                "name": "stake",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 275,
                "src": "91:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 271,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "91:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 274,
                "mutability": "mutable",
                "name": "locked",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 275,
                "src": "108:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 273,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "108:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Account",
            "nodeType": "StructDefinition",
            "scope": 380,
            "src": "71:55:5",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibCore_v5.Category",
            "id": 282,
            "members": [
              {
                "constant": false,
                "id": 277,
                "mutability": "mutable",
                "name": "name",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 282,
                "src": "149:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 276,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "149:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 279,
                "mutability": "mutable",
                "name": "description",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 282,
                "src": "165:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 278,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "165:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 281,
                "mutability": "mutable",
                "name": "workClockTimeRef",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 282,
                "src": "188:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 280,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "188:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Category",
            "nodeType": "StructDefinition",
            "scope": 380,
            "src": "128:88:5",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibCore_v5.Resource",
            "id": 289,
            "members": [
              {
                "constant": false,
                "id": 284,
                "mutability": "mutable",
                "name": "pointer",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 289,
                "src": "268:15:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 283,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "268:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 286,
                "mutability": "mutable",
                "name": "owner",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 289,
                "src": "287:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 285,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "287:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 288,
                "mutability": "mutable",
                "name": "price",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 289,
                "src": "304:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 287,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "304:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Resource",
            "nodeType": "StructDefinition",
            "scope": 380,
            "src": "247:74:5",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibCore_v5.Deal",
            "id": 320,
            "members": [
              {
                "constant": false,
                "id": 291,
                "mutability": "mutable",
                "name": "app",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "356:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Resource_$289_storage_ptr",
                  "typeString": "struct IexecLibCore_v5.Resource"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 290,
                  "name": "Resource",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 289,
                  "src": "356:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Resource_$289_storage_ptr",
                    "typeString": "struct IexecLibCore_v5.Resource"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 293,
                "mutability": "mutable",
                "name": "dataset",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "372:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Resource_$289_storage_ptr",
                  "typeString": "struct IexecLibCore_v5.Resource"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 292,
                  "name": "Resource",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 289,
                  "src": "372:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Resource_$289_storage_ptr",
                    "typeString": "struct IexecLibCore_v5.Resource"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 295,
                "mutability": "mutable",
                "name": "workerpool",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "392:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Resource_$289_storage_ptr",
                  "typeString": "struct IexecLibCore_v5.Resource"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 294,
                  "name": "Resource",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 289,
                  "src": "392:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Resource_$289_storage_ptr",
                    "typeString": "struct IexecLibCore_v5.Resource"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 297,
                "mutability": "mutable",
                "name": "trust",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "415:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 296,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "415:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 299,
                "mutability": "mutable",
                "name": "category",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "432:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 298,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "432:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 301,
                "mutability": "mutable",
                "name": "tag",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "452:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 300,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "452:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 303,
                "mutability": "mutable",
                "name": "requester",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "490:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 302,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "490:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 305,
                "mutability": "mutable",
                "name": "beneficiary",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "511:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 304,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "511:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 307,
                "mutability": "mutable",
                "name": "callback",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "534:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 306,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "534:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 309,
                "mutability": "mutable",
                "name": "params",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "554:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 308,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "554:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 311,
                "mutability": "mutable",
                "name": "startTime",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "596:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 310,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "596:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 313,
                "mutability": "mutable",
                "name": "botFirst",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "617:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 312,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "617:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 315,
                "mutability": "mutable",
                "name": "botSize",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "637:15:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 314,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "637:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 317,
                "mutability": "mutable",
                "name": "workerStake",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "673:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 316,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "673:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 319,
                "mutability": "mutable",
                "name": "schedulerRewardRatio",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "696:28:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 318,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "696:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Deal",
            "nodeType": "StructDefinition",
            "scope": 380,
            "src": "323:405:5",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibCore_v5.TaskStatusEnum",
            "id": 326,
            "members": [
              {
                "id": 321,
                "name": "UNSET",
                "nodeType": "EnumValue",
                "src": "776:5:5"
              },
              {
                "id": 322,
                "name": "ACTIVE",
                "nodeType": "EnumValue",
                "src": "841:6:5"
              },
              {
                "id": 323,
                "name": "REVEALING",
                "nodeType": "EnumValue",
                "src": "894:9:5"
              },
              {
                "id": 324,
                "name": "COMPLETED",
                "nodeType": "EnumValue",
                "src": "936:9:5"
              },
              {
                "id": 325,
                "name": "FAILED",
                "nodeType": "EnumValue",
                "src": "971:6:5"
              }
            ],
            "name": "TaskStatusEnum",
            "nodeType": "EnumDefinition",
            "src": "751:253:5"
          },
          {
            "canonicalName": "IexecLibCore_v5.Task",
            "id": 356,
            "members": [
              {
                "constant": false,
                "id": 328,
                "mutability": "mutable",
                "name": "status",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1023:21:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_TaskStatusEnum_$326",
                  "typeString": "enum IexecLibCore_v5.TaskStatusEnum"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 327,
                  "name": "TaskStatusEnum",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 326,
                  "src": "1023:14:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_TaskStatusEnum_$326",
                    "typeString": "enum IexecLibCore_v5.TaskStatusEnum"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 330,
                "mutability": "mutable",
                "name": "dealid",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1048:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 329,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1048:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 332,
                "mutability": "mutable",
                "name": "idx",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1068:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 331,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1068:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 334,
                "mutability": "mutable",
                "name": "timeref",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1085:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 333,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1085:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 336,
                "mutability": "mutable",
                "name": "contributionDeadline",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1106:30:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 335,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1106:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 338,
                "mutability": "mutable",
                "name": "revealDeadline",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1140:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 337,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1140:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 340,
                "mutability": "mutable",
                "name": "finalDeadline",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1168:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 339,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1168:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 342,
                "mutability": "mutable",
                "name": "consensusValue",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1195:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 341,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1195:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 344,
                "mutability": "mutable",
                "name": "revealCounter",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1223:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 343,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1223:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 346,
                "mutability": "mutable",
                "name": "winnerCounter",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1250:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 345,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1250:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 349,
                "mutability": "mutable",
                "name": "contributors",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1277:22:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                  "typeString": "address[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 347,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1277:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 348,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "1277:9:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                    "typeString": "address[]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 351,
                "mutability": "mutable",
                "name": "resultDigest",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1303:22:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 350,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1303:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 353,
                "mutability": "mutable",
                "name": "results",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1329:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 352,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "1329:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 355,
                "mutability": "mutable",
                "name": "resultsTimestamp",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1350:26:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 354,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1350:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Task",
            "nodeType": "StructDefinition",
            "scope": 380,
            "src": "1006:374:5",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibCore_v5.Consensus",
            "id": 363,
            "members": [
              {
                "constant": false,
                "id": 360,
                "mutability": "mutable",
                "name": "group",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 363,
                "src": "1429:33:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                  "typeString": "mapping(bytes32 => uint256)"
                },
                "typeName": {
                  "id": 359,
                  "keyType": {
                    "id": 357,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1437:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "Mapping",
                  "src": "1429:27:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                    "typeString": "mapping(bytes32 => uint256)"
                  },
                  "valueType": {
                    "id": 358,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1448:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 362,
                "mutability": "mutable",
                "name": "total",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 363,
                "src": "1466:33:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 361,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1466:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Consensus",
            "nodeType": "StructDefinition",
            "scope": 380,
            "src": "1407:96:5",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibCore_v5.ContributionStatusEnum",
            "id": 368,
            "members": [
              {
                "id": 364,
                "name": "UNSET",
                "nodeType": "EnumValue",
                "src": "1563:5:5"
              },
              {
                "id": 365,
                "name": "CONTRIBUTED",
                "nodeType": "EnumValue",
                "src": "1572:11:5"
              },
              {
                "id": 366,
                "name": "PROVED",
                "nodeType": "EnumValue",
                "src": "1587:6:5"
              },
              {
                "id": 367,
                "name": "REJECTED",
                "nodeType": "EnumValue",
                "src": "1597:8:5"
              }
            ],
            "name": "ContributionStatusEnum",
            "nodeType": "EnumDefinition",
            "src": "1530:78:5"
          },
          {
            "canonicalName": "IexecLibCore_v5.Contribution",
            "id": 379,
            "members": [
              {
                "constant": false,
                "id": 370,
                "mutability": "mutable",
                "name": "status",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 379,
                "src": "1635:29:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_ContributionStatusEnum_$368",
                  "typeString": "enum IexecLibCore_v5.ContributionStatusEnum"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 369,
                  "name": "ContributionStatusEnum",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 368,
                  "src": "1635:22:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ContributionStatusEnum_$368",
                    "typeString": "enum IexecLibCore_v5.ContributionStatusEnum"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 372,
                "mutability": "mutable",
                "name": "resultHash",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 379,
                "src": "1668:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 371,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1668:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 374,
                "mutability": "mutable",
                "name": "resultSeal",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 379,
                "src": "1690:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 373,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1690:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 376,
                "mutability": "mutable",
                "name": "enclaveChallenge",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 379,
                "src": "1712:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 375,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1712:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 378,
                "mutability": "mutable",
                "name": "weight",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 379,
                "src": "1740:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 377,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1740:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Contribution",
            "nodeType": "StructDefinition",
            "scope": 380,
            "src": "1610:148:5",
            "visibility": "public"
          }
        ],
        "scope": 381,
        "src": "26:1735:5"
      }
    ],
    "src": "0:1762:5"
  },
  "legacyAST": {
    "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibCore_v5.sol",
    "exportedSymbols": {
      "IexecLibCore_v5": [
        380
      ]
    },
    "id": 381,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 270,
        "literals": [
          "solidity",
          "^",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:5"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": null,
        "fullyImplemented": true,
        "id": 380,
        "linearizedBaseContracts": [
          380
        ],
        "name": "IexecLibCore_v5",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "canonicalName": "IexecLibCore_v5.Account",
            "id": 275,
            "members": [
              {
                "constant": false,
                "id": 272,
                "mutability": "mutable",
                "name": "stake",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 275,
                "src": "91:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 271,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "91:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 274,
                "mutability": "mutable",
                "name": "locked",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 275,
                "src": "108:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 273,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "108:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Account",
            "nodeType": "StructDefinition",
            "scope": 380,
            "src": "71:55:5",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibCore_v5.Category",
            "id": 282,
            "members": [
              {
                "constant": false,
                "id": 277,
                "mutability": "mutable",
                "name": "name",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 282,
                "src": "149:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 276,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "149:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 279,
                "mutability": "mutable",
                "name": "description",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 282,
                "src": "165:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 278,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "165:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 281,
                "mutability": "mutable",
                "name": "workClockTimeRef",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 282,
                "src": "188:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 280,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "188:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Category",
            "nodeType": "StructDefinition",
            "scope": 380,
            "src": "128:88:5",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibCore_v5.Resource",
            "id": 289,
            "members": [
              {
                "constant": false,
                "id": 284,
                "mutability": "mutable",
                "name": "pointer",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 289,
                "src": "268:15:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 283,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "268:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 286,
                "mutability": "mutable",
                "name": "owner",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 289,
                "src": "287:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 285,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "287:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 288,
                "mutability": "mutable",
                "name": "price",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 289,
                "src": "304:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 287,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "304:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Resource",
            "nodeType": "StructDefinition",
            "scope": 380,
            "src": "247:74:5",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibCore_v5.Deal",
            "id": 320,
            "members": [
              {
                "constant": false,
                "id": 291,
                "mutability": "mutable",
                "name": "app",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "356:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Resource_$289_storage_ptr",
                  "typeString": "struct IexecLibCore_v5.Resource"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 290,
                  "name": "Resource",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 289,
                  "src": "356:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Resource_$289_storage_ptr",
                    "typeString": "struct IexecLibCore_v5.Resource"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 293,
                "mutability": "mutable",
                "name": "dataset",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "372:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Resource_$289_storage_ptr",
                  "typeString": "struct IexecLibCore_v5.Resource"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 292,
                  "name": "Resource",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 289,
                  "src": "372:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Resource_$289_storage_ptr",
                    "typeString": "struct IexecLibCore_v5.Resource"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 295,
                "mutability": "mutable",
                "name": "workerpool",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "392:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Resource_$289_storage_ptr",
                  "typeString": "struct IexecLibCore_v5.Resource"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 294,
                  "name": "Resource",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 289,
                  "src": "392:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Resource_$289_storage_ptr",
                    "typeString": "struct IexecLibCore_v5.Resource"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 297,
                "mutability": "mutable",
                "name": "trust",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "415:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 296,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "415:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 299,
                "mutability": "mutable",
                "name": "category",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "432:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 298,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "432:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 301,
                "mutability": "mutable",
                "name": "tag",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "452:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 300,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "452:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 303,
                "mutability": "mutable",
                "name": "requester",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "490:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 302,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "490:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 305,
                "mutability": "mutable",
                "name": "beneficiary",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "511:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 304,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "511:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 307,
                "mutability": "mutable",
                "name": "callback",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "534:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 306,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "534:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 309,
                "mutability": "mutable",
                "name": "params",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "554:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 308,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "554:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 311,
                "mutability": "mutable",
                "name": "startTime",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "596:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 310,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "596:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 313,
                "mutability": "mutable",
                "name": "botFirst",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "617:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 312,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "617:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 315,
                "mutability": "mutable",
                "name": "botSize",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "637:15:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 314,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "637:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 317,
                "mutability": "mutable",
                "name": "workerStake",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "673:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 316,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "673:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 319,
                "mutability": "mutable",
                "name": "schedulerRewardRatio",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 320,
                "src": "696:28:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 318,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "696:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Deal",
            "nodeType": "StructDefinition",
            "scope": 380,
            "src": "323:405:5",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibCore_v5.TaskStatusEnum",
            "id": 326,
            "members": [
              {
                "id": 321,
                "name": "UNSET",
                "nodeType": "EnumValue",
                "src": "776:5:5"
              },
              {
                "id": 322,
                "name": "ACTIVE",
                "nodeType": "EnumValue",
                "src": "841:6:5"
              },
              {
                "id": 323,
                "name": "REVEALING",
                "nodeType": "EnumValue",
                "src": "894:9:5"
              },
              {
                "id": 324,
                "name": "COMPLETED",
                "nodeType": "EnumValue",
                "src": "936:9:5"
              },
              {
                "id": 325,
                "name": "FAILED",
                "nodeType": "EnumValue",
                "src": "971:6:5"
              }
            ],
            "name": "TaskStatusEnum",
            "nodeType": "EnumDefinition",
            "src": "751:253:5"
          },
          {
            "canonicalName": "IexecLibCore_v5.Task",
            "id": 356,
            "members": [
              {
                "constant": false,
                "id": 328,
                "mutability": "mutable",
                "name": "status",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1023:21:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_TaskStatusEnum_$326",
                  "typeString": "enum IexecLibCore_v5.TaskStatusEnum"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 327,
                  "name": "TaskStatusEnum",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 326,
                  "src": "1023:14:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_TaskStatusEnum_$326",
                    "typeString": "enum IexecLibCore_v5.TaskStatusEnum"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 330,
                "mutability": "mutable",
                "name": "dealid",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1048:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 329,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1048:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 332,
                "mutability": "mutable",
                "name": "idx",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1068:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 331,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1068:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 334,
                "mutability": "mutable",
                "name": "timeref",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1085:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 333,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1085:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 336,
                "mutability": "mutable",
                "name": "contributionDeadline",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1106:30:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 335,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1106:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 338,
                "mutability": "mutable",
                "name": "revealDeadline",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1140:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 337,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1140:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 340,
                "mutability": "mutable",
                "name": "finalDeadline",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1168:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 339,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1168:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 342,
                "mutability": "mutable",
                "name": "consensusValue",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1195:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 341,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1195:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 344,
                "mutability": "mutable",
                "name": "revealCounter",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1223:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 343,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1223:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 346,
                "mutability": "mutable",
                "name": "winnerCounter",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1250:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 345,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1250:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 349,
                "mutability": "mutable",
                "name": "contributors",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1277:22:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                  "typeString": "address[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 347,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1277:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 348,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "1277:9:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                    "typeString": "address[]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 351,
                "mutability": "mutable",
                "name": "resultDigest",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1303:22:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 350,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1303:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 353,
                "mutability": "mutable",
                "name": "results",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1329:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 352,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "1329:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 355,
                "mutability": "mutable",
                "name": "resultsTimestamp",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 356,
                "src": "1350:26:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 354,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1350:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Task",
            "nodeType": "StructDefinition",
            "scope": 380,
            "src": "1006:374:5",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibCore_v5.Consensus",
            "id": 363,
            "members": [
              {
                "constant": false,
                "id": 360,
                "mutability": "mutable",
                "name": "group",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 363,
                "src": "1429:33:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                  "typeString": "mapping(bytes32 => uint256)"
                },
                "typeName": {
                  "id": 359,
                  "keyType": {
                    "id": 357,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1437:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "Mapping",
                  "src": "1429:27:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                    "typeString": "mapping(bytes32 => uint256)"
                  },
                  "valueType": {
                    "id": 358,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1448:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 362,
                "mutability": "mutable",
                "name": "total",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 363,
                "src": "1466:33:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 361,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1466:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Consensus",
            "nodeType": "StructDefinition",
            "scope": 380,
            "src": "1407:96:5",
            "visibility": "public"
          },
          {
            "canonicalName": "IexecLibCore_v5.ContributionStatusEnum",
            "id": 368,
            "members": [
              {
                "id": 364,
                "name": "UNSET",
                "nodeType": "EnumValue",
                "src": "1563:5:5"
              },
              {
                "id": 365,
                "name": "CONTRIBUTED",
                "nodeType": "EnumValue",
                "src": "1572:11:5"
              },
              {
                "id": 366,
                "name": "PROVED",
                "nodeType": "EnumValue",
                "src": "1587:6:5"
              },
              {
                "id": 367,
                "name": "REJECTED",
                "nodeType": "EnumValue",
                "src": "1597:8:5"
              }
            ],
            "name": "ContributionStatusEnum",
            "nodeType": "EnumDefinition",
            "src": "1530:78:5"
          },
          {
            "canonicalName": "IexecLibCore_v5.Contribution",
            "id": 379,
            "members": [
              {
                "constant": false,
                "id": 370,
                "mutability": "mutable",
                "name": "status",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 379,
                "src": "1635:29:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_ContributionStatusEnum_$368",
                  "typeString": "enum IexecLibCore_v5.ContributionStatusEnum"
                },
                "typeName": {
                  "contractScope": null,
                  "id": 369,
                  "name": "ContributionStatusEnum",
                  "nodeType": "UserDefinedTypeName",
                  "referencedDeclaration": 368,
                  "src": "1635:22:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ContributionStatusEnum_$368",
                    "typeString": "enum IexecLibCore_v5.ContributionStatusEnum"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 372,
                "mutability": "mutable",
                "name": "resultHash",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 379,
                "src": "1668:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 371,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1668:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 374,
                "mutability": "mutable",
                "name": "resultSeal",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 379,
                "src": "1690:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 373,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1690:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 376,
                "mutability": "mutable",
                "name": "enclaveChallenge",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 379,
                "src": "1712:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 375,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1712:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 378,
                "mutability": "mutable",
                "name": "weight",
                "nodeType": "VariableDeclaration",
                "overrides": null,
                "scope": 379,
                "src": "1740:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 377,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1740:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Contribution",
            "nodeType": "StructDefinition",
            "scope": 380,
            "src": "1610:148:5",
            "visibility": "public"
          }
        ],
        "scope": 381,
        "src": "26:1735:5"
      }
    ],
    "src": "0:1762:5"
  },
  "compiler": {
    "name": "solc",
    "version": "0.6.6+commit.6c089d02.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.1.0",
  "updatedAt": "2020-04-21T18:10:34.836Z",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}